2012-07-25 129 views
0

我使用PersistentConnection
做出連接的路線:爲什麼PersistentConnection(SignalR)爲每個客戶端實例化兩次?

protected void Application_Start(object sender, EventArgs e) 
{ 
    RouteTable.Routes.MapConnection<MyConnection>("echo", "echo/{*operation}"); 
} 

爲什麼MyConnection(PersistentConnection)每次客戶端連接時調用兩次?

+0

這並不足以讓你知道你在問什麼。你能提供一個完整的樣本並解釋兩次被調用的內容,以及你正在使用的SignalR的什麼版本? – davidfowl 2012-07-25 20:57:35

+0

我用這個例子:[link](https://github.com/SignalR/SignalR/wiki/QuickStart-Persistent-Connections)。版本號:0.5.2 – ZSH 2012-07-28 04:31:31

回答

1

這是因爲客戶端發出兩個請求到服務器,建立連接時:

  • 一個談判 -request
    這是當支持的客戶端和服務器交換/首選交通工具(例如'webSockets','longPolling')並確定使用哪一個
  • 真實連接 -request

爲每個傳入請求創建了MyConnection類的新實例。這就是爲什麼構造函數被調用兩次。

相關問題