2013-03-29 172 views
0

我有一個簡單的Hub,它在我的web應用程序和我的SL5應用程序之間使用1.0.0-rc2。SL5中的SignalR在升級到1.0.1後停止工作

升級到1.0.1後,我的.Net Winform客戶端仍然可以連接到集線器,但我的SL5客戶端無法再連接。

打電話訂閱後,我可以看到Fiddler中的Negotiate調用(返回200,看起來是有效的JSON),然後是集線器Closed事件觸發。錯誤事件從不會觸發,然後就是結束了。至少據我所知,在小提琴手中,沒有嘗試實際連接。

任何想法?這是我的SL5代碼,它非常簡單/直接。

 hub = new HubConnection("http://localhost/ADE"); 
     hub.Closed += new Action(hub_Closed); 
     hub.Error += new Action<Exception>(hub_Error); 
     hub.Reconnected += new Action(hub_Reconnected); 
     hub.Reconnecting += new Action(hub_Reconnecting); 
     hub.StateChanged += new Action<StateChange>(hub_StateChanged); 

     hubProxy = hub.CreateHubProxy(hubName); 

     //Removed my hubProxy.On calls for brevity. 


     hub.Start().ContinueWith(task => 
            // { 

            //}); 

回答

1

嘗試使用SignalR1.0.1和SL5的this sample

要訪問SL5客戶端瀏覽到http://localhost:18628/SignalR.Sample.SilverlightClientTestPage.aspx

在提琴手,你應該得到這些HTTP請求

http://localhost:18628/signalr/negotiate?noCache=cd92304d-c824-4c91-abdd-e77c8d096b58

http://localhost:18628/signalr/connect?transport=serverSentEvents&connectionToken=rse-NdoiZ1Hi7riN_beL6J-zrkGMPm1A9p8urTZn_1sTuZVeEzVWayykaN-Km_fmqBoV06D1e7h5fPWl4kgggABs3x7wiItdd8zJKE9FSCjZsYEUQOdFrzAg-WmA7rUx0&connectionData=[{"Name":"SampleHub"}]&noCache=0c4c1fa1-9aa9-409b-acf7-165faa0d699a

http://localhost:18628/signalr/send?transport=serverSentEvents&connectionToken=rse-NdoiZ1Hi7riN_beL6J-zrkGMPm1A9p8urTZn_1sTuZVeEzVWayykaN-Km_fmqBoV06D1e7h5fPWl4kgggABs3x7wiItdd8zJKE9FSCjZsYEUQOdFrzAg-WmA7rUx0

+0

謝謝,這是有益的。我能夠將SL樣本連接到我現有的集線器,該集線器將Hub作爲罪魁禍首。進一步的調查顯示,另一名開發人員在向我的SL項目添加引用時沒有使用NuGet軟件包,所以這是導致問題的版本差異。 –

相關問題