2015-01-08 44 views

回答

2

你怎麼知道GlobalHost.ConnectionManager.GetHubContext通話費用很高?

我剛剛嘗試在一個循環中調用GetHubContext 10,000次,並在我的機器上花費了174毫秒。這意味着每次通話平均爲0.0000174秒。在大多數Web API調用或Web請求的情況下,我認爲這種方式並不特別昂貴。

如果在建立任何SignalR連接之前首先致電GetHubContext,那麼初始呼叫將需要更長的時間。在我的機器上,這個第一次通話花費了96毫秒。這一次花費了初始化一些通常在第一個SignalR連接建立時初始化的SignalR單例。隨後的調用取平均值爲上面提到的0.0174毫秒。

如果這太貴了,您可以隨時將返回的IHubContext存儲在一個單例中。它是線程安全的。