Windows 8.1. IIS 8.5. SignalR wersje:SignalR powoduje, że IIS zawiesza się po odbudowaniu
<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" />
Ilekroć odbudować mój projekt/rozwiązanie, IIS kolce do maksymalnego wykorzystania procesora i nie udało się załadować moją stronę. Sprawdziłem procmon.exe i zgłasza ogromną ilość (> 20 000/s) "RegOpenKey/RegQueryKey" operacji, takich jak te z nich:
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
Są to kroki używam odtworzyć ten problem:
- Wszystko działa poprawnie.
- napisać trochę kodu i skompilować
- SignalR robi ponownie z transportem websocket i dostaje tę odpowiedź w nagłówku odpowiedzi: „HTTP/1.1 101 Przełączanie Protokoły”
- mam prośbę i IIS pracownicza zawiesza procesowych i nigdy wraca LUB czekam 2-3 minuty i znowu wszystko działa.
Występuję również w IIS Express. Normalnie rozwiązuję to przez zabicie procesu IIS Worker i ponowne załadowanie. Czy to jest problem uprawnień? Obecnie pula aplikacji działa pod moim lokalnym użytkownikiem, ale wypróbowałem Application Pool Identity z tymi samymi wynikami. Co powinno znajdować się w "HKLM \ System \ CurrentControlSet \ Services \ SignalR \ Performance"? Obecnie na moim komputerze nie ma takiego klucza rejestru.
Żądania są stałe przez czas, w którym się zawiesza, tak. Zarejestrowałem ~ 13 000 w 0.3 sekundy - wszystkie tego samego typu, co wspomniane powyżej. Zainstalowanie licznika wydajności pomogło, więc bardzo dziękuję za to! – perkrihe