【发布时间】:2017-01-13 17:25:30
【问题描述】:
我使用 SignalR 构建了一个简单的聊天应用程序,遵循tutorial there,效果很好。
然后我跟着SignalR Scaleout with Azure Service Bus的教程,同样来自微软。
所以我已经完成了以下所有步骤:
- 在 Azure 门户上创建了新的云服务
- 在 Azure 门户上创建了一个新的服务总线命名空间
- 使用 SignalR ASP.NET Web 角色创建了 Windows Azure 云服务
- 设置在 2 个实例上运行的 SignalR Web 角色(VM 大小:小)
- 已将云服务部署到 Azure 云服务。
但我无法让 SignalR Chat 应用程序正常工作。无法启动集线器。
我注意到它尝试使用 longPolling 并在浏览器的调试工具 (Chrome) 中显示状态 Cancelled/Abort 并在控制台中显示以下错误:
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
这是网络中的日志:
除了教程中列出的所有步骤之外,我还需要做任何额外的事情来完成这项工作吗?
【问题讨论】:
-
@radu-matei,相关代码在链接教程中。这是最小的、完整的和可验证的例子。
-
打开开发者控制台并检查记录的内容和发送的请求以及是否成功。我记得当我尝试使用 ServiceBus 时,我在门户中错误配置了 ServiceBus,但没有任何效果。
-
问题出在服务器端。在本地运行/调试连接到服务总线的服务器,看看有什么异常并从那里获取。
-
@Pawel,使用 Messaging With Topics sample 在本地调试。事实证明,我的服务总线在“基本”消息轮胎上(尽管我使用标准价格轮胎创建了它)。我把它放大到标准,它现在可以工作了。非常感谢!!
标签: asp.net websocket signalr azureservicebus azure-cloud-services