2013-07-28 49 views
15

我試圖調試一個SignalR集線器,並注意到構造函數被多次調用,即使只有一個客戶端。這是預期的行爲?我期待構造函數只能被初始化一次,但是我多次觸擊我的斷點。什麼時候調用SignalR中心構造函數?

+0

不確定,但我認爲它是一個新的每個請求 – MEYWD

回答

17

將在每個請求中創建SignalR Hub實例。因此,如果只有一個客戶或更多客戶無關緊要。 事實上,Hub是PersistentConnection的一個抽象,如果你想更精確地控制場景後面發生的事情,你可以使用PersistentConnection。 請點擊這裏:https://github.com/SignalR/SignalR/wiki/PersistentConnection

+2

甚至更​​多。每次調用一次可以超過每個請求(在websockets的情況下) – davidfowl

5

由於Incognito正確指出,SignalR會爲每個請求創建一個新的Hub實例。您應該使用靜態成員來爲所有請求在Hub中存儲想要的信息。如果您希望每次新客戶端連接到集線器時執行一些操作,則應將該代碼放入OnConnected中。

相關問題