Azure应用程序网关和信号器websockets

时间:2017-03-21 14:34:58

标签: azure websocket signalr azure-application-gateway

我在azure中有下一个设置:

  1. 一个应用程序网关平衡器
  2. 网关后端池中的两个虚拟机。
  3. 在虚拟机上部署了一个信号器应用程序。
  4. 问题:

    当客户端(浏览器)将调用信号器中心服务器上的方法并且消息大小等于或大于等于70kb时,我收到(启用信号通信客户端的登录):

    SignalR:不干净地从websocket断开:[没有给出理由]。 SignalR:关闭Websocket。

    SignalR:清除集线器调用回调并显示错误:在收到调用结果之前,连接已开始重新连接。

    SignalR:[服务器方法]无法执行。错误:在收到调用结果之前,连接已开始重新连接。

    客户端在尝试重新连接并再次发送邮件后断开连接。 在重新连接时,我从服务器获得101 HTTP响应状态。这是日志:

    SignalR:webSockets重新连接。

    SignalR:连接到websocket端点

    SignalR:关闭Websocket。

    SignalR:清除集线器调用回调并显示错误:已启动连接 在收到调用结果之前重新连接。

    SignalR:[服务器方法]无法执行。错误:在收到调用结果之前,连接已开始重新连接。 SignalR:webSockets重新连接。

    SignalR:Websocket打开了。

    问题: Azure应用程序网关对websockets邮件大小有一些限制吗?

    我在Azure中的虚拟机上试了这个,通过直接访问IIS,当我尝试将它从客户端发送到信号中心时,我没有得到同样的错误。

    我在azure应用程序网关文档中找不到有关websockets消息的最大大小的任何引用。

    感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

对于websocket消息,SignalR的默认限制为64KB。您可以通过设置IConfigurationManager.MaxIncomingWebSocketMessageSize

来更改(或删除)限制