ASP.NET * PRECOMPILED * but still long startup

We have an application that is published "precompiled". When we deploy it to the server, it refreshes instantly, no interruption, no pause. This is really important as the application is used by thousands of companies.

Then we added SignalR.

Which, in turn, led to the OWIN dependency.

Now, when we update, the precompiled application suffocates for 9-10 seconds. w3wp goes to 100% CPU load.

I've profiled using cpu processes and I've seen this among the most time consuming call stacks:

System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start
Microsoft.Owin.Host.SystemWeb.OwinCallContext.AcceptCallback
System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start
Microsoft.Owin.Host.SystemWeb.OwinCallContext.AcceptCallback
System.Web.WebSocketPipeline+<>c__DisplayClass6.<ProcessRequestImplAsync>b__3
System.Web.Util.SynchronizationHelper.SafeWrapCallback
System.Web.Util.SynchronizationHelper.QueueSynchronous
System.Web.WebSocketPipeline+<ProcessRequestImplAsync>d__8.MoveNext
System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start
System.Web.WebSocketPipeline.ProcessRequest
//...skipped

      

Wait what? "CompilerServices"?

Apparently OWIN is doing some compilation work in the background .... Or is it something else?

Has anyone come across this? Any workarounds?

What does SignalR do at startup?

UPDATE: We tried EnableJavaScriptProxies = false;

, we also tried our own IAssemblyLocator

- none of them helped.

+3


source to share





All Articles