Windows 8.1操作系统。IIS 8.5网络服务。SignalR版本:
<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" />
每当我重新构建我的项目/解决方案时,IIS的CPU使用率会飙升到最高点,导致我无法重新加载页面。我检查了procmon.exe,并报告了大量(> 20,000 / s)的“RegOpenKey/RegQueryKey”操作,例如以下内容:
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
这是我使用的步骤来重现此问题:
- 一切都正常。
- 我编写了一些代码并进行了编译
- SignalR使用WebSocket传输进行重新连接,并在响应头中获得此响应:“HTTP/1.1 101 Switching Protocols”
- 我发出请求,IIS工作进程挂起,并且永远不会回来,或者我等待2-3分钟,然后事情又开始正常。