簡體   English   中英

集線器內的SignalR靜態對象使背板重新連接失敗

[英]SignalR static objects inside hub makes reconnect fail with backplane

我們已經實現了帶有背板的服務器,其中有100多個客戶端正在連接。 但是,當我們對其進行測試時,我們發現,無論何時客戶端斷開連接,它們都無法重新連接。 此外,我們注意到w3wp.exe大量使用線程(超過5000個),然后IIS崩潰。

為了確定導致此問題的原因,我們清洗了集線器,發現在刪除記錄器類時,背板可以正常工作。 我們已使用NLog記錄器並將其啟動為靜態記錄器。

private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();

為了確認NLog是否存在問題,我們在hub類內創建了另一個靜態對象,但該對象也顯示了相同的高線程使用率。 因此,似乎只要有靜態對象,客戶端就無法重新連接,並且w3wp.exe服務中的線程使用率很高。 造成這種情況的原因是什么?

PS-我們使用SQL和Redis背板進行了測試,結果均相同。

問題不是使用集線器內部的靜態對象,而是使用NLogTraceListener記錄日志信號跟蹤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM