2013-03-29 128 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软件包,所以这是导致问题的版本差异。 –

相关问题