SignalR Azure云服务与服务总线

时间:2016-09-06 09:49:04

标签: asp.net websocket signalr azureservicebus azure-cloud-services

我使用SignalR跟随tutorial there构建了一个简单的聊天应用程序,效果很好。

然后我按照SignalR Scaleout with Azure Service Bus的教程,也来自Microsoft。

所以我完成了以下所有步骤:

  • 在Azure门户上创建了一个新的Cloud Service
  • 在Azure门户上创建了一个新的Service Bus命名空间
  • 使用SignalR ASP.NET Web角色创建了Windows Azure云服务
  • 设置在2个实例上运行的SignalR Web角色(VM大小:小)
  • 将Cloud Service部署到Azure云服务。

但我无法使SignalR Chat应用程序正常运行。无法启动集线器。

我注意到它尝试使用longPolling并在浏览器的调试工具(Chrome)中显示已取消/已中止状态,并在控制台中显示以下错误:

  

WebSocket连接到' WS://example.cloudapp.net/signalr/connect运输=&的WebSockets放大器; clientProtocol = 1.5&安培; connectionToken = KOlz9psd6yCqvYjmCbI3ch5mrXcP%2BAAl3JVMFaP24p2Cv%2FyRb94D5uE27SO9Bz%2B5Itba4vADtv3%2Btv2FMF9LJI6Zxr026UJYxDPNQMVpFTw2hiHd&安培; connectionData =%5B% 7B%22name%22%3A%22schathub%22%7D%5D&安培; TID = 10'失败:WebSocket握手期间出错:意外的响应代码:400

这是网络中的日志:

error

除了教程中列出的所有步骤之外,我还需要做任何额外的工作吗?

1 个答案:

答案 0 :(得分:2)

基于current Pricing,您需要将服务总线设置为至少标准层以支持主题。

在这种情况下,我确实创建了选择标准层的服务总线,虽然它在“定价层”部分的“概述”页面上显示了标准,但我必须专门进行设置并将其从“基本”扩展到“标准”。这解决了这个问题。