We have an app that is being published "precompiled". When we deploy it to the server, it updates momentarily, no interruptions, no pauses. This is really important since the app is used by 1000s of companies
Then we added SignalR.
Which, in turn, brought the OWIN dependency.
Now, the precompiled app chokes for 9-10 seconds when we update. w3wp jumps to 100% cpu load.
I profiled the processes cpu usage and I saw this among the top 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 compiling work on the background.... Or is it something else?
Anyone faced this? Any workarounds?
What is SignalR doing during startup?
UPDATE: We tried EnableJavaScriptProxies = false;
we also tried our own IAssemblyLocator
- neither has helped.