asp.net - SignalR makes IIS hang after rebuild -


windows 8.1. iis 8.5. signalr versions:

<package id="microsoft.aspnet.signalr" version="2.1.2" targetframework="net451" /> <package id="microsoft.aspnet.signalr.core" version="2.1.2" targetframework="net451" /> <package id="microsoft.aspnet.signalr.js" version="2.1.2" targetframework="net451" /> <package id="microsoft.aspnet.signalr.systemweb" version="2.1.2" targetframework="net451" /> 

whenever rebuild project/solution, iis spikes max cpu usage , cannot reload page. checked procmon.exe , reports enormous amount (>20 000/s) of "regopenkey/regquerykey" operations these ones:

date & time:    19.11.2014 10:47:20 event class:    registry operation:  regquerykey result: success path:   hklm tid:    23272 duration:   0.0000059 query:  handletags handletags: 0x0  date & time:    19.11.2014 10:47:20 event class:    registry operation:  regopenkey result: reparse path:   hklm\system\currentcontrolset\services\signalr\performance tid:    23272 duration:   0.0000121 desired access: read   date & time:    19.11.2014 10:47:20 event class:    registry operation:  regopenkey result: name not found path:   hklm\system\currentcontrolset\services\signalr\performance tid:    23272 duration:   0.0000062 desired access: read 

these steps use reproduce issue:

  1. everything works fine.
  2. i write code , compile
  3. signalr reconnect websocket transport , gets response in response header: "http/1.1 101 switching protocols"
  4. i request , iis worker process hangs , never comes or wait t 2-3 minutes , things working again.

i experiencing in iis express well. resolve killing iis worker process , reloading. permissions issue? application pool runs under local user, have tried application pool identity same results. should in "hklm\system\currentcontrolset\services\signalr\performance"? there no such registry key on machine.

i have not seen behavior before. 20,000/s "regopenkey/regquerykey" operations lasting 2-3 minutes continuously? of these operations accessing "hklm\system\currentcontrolset\services\signalr\performance" path?

signalr designed stop further loading of performance counters after performance counter fails load.

perhaps installing signalr performance counters resolve issue. create hklm\system\currentcontrolset\services\signalr\performance.

you have ensure application pool runs under user in "performance monitor users" group.


Comments

Popular posts from this blog

java - Oracle EBS .ClassNotFoundException: oracle.apps.fnd.formsClient.FormsLauncher.class ERROR -

c# - how to use buttonedit in devexpress gridcontrol -

nvd3.js - angularjs-nvd3-directives setting color in legend as well as in chart elements -