Sur*_*esh 3 websocket signalr iis-8 signalr.client arr
我正在使用signalr2.2 Web应用程序并托管在IIS-8中.在这里,我尝试使用ARR3.0为我的应用程序实现负载平衡.在我的服务器场中,我连接了两台服务器,并将路由规则设置为"加权循环".每个服务器都有一个带HTML页面的javascript客户端.当我访问任何服务器的HTML页面时,请求已按预期路由,但我在我的html页面中出现此错误并且signalr未连接
WebSocket连接到 'WS://mydomain.com/signalr/connect运输=&的WebSockets clientProtocol = 1.5&connectionToken = x9rAfatyMm3TbqzrYKL1K37Z4tKrUTH7bwNmSItW55Z0ms6pe43YiQGFOmaHMyT%2BpmGz62ukt4tha72vPcJhdqLtIvsQvqvY15oYGv69JjzSuuiSL7v2l%2FccZT6tQa3Z&connectionData =%5B%7B%22name%22%3A%22chathub%22%7D%5D&TID = 1'失败:WebSocket握手期间出错:意外响应代码:400
如果我在我的serverfarm中使这个服务器的任何一个脱机,signalr工作正常,不会抛出任何错误.帮我找到解决方案.
如果我从我的.net客户端应用程序通信信号服务器,它将抛出以下错误
启动请求期间出错.停止连接.
我也有这个问题.看得更深,错误是:The connection id is in the incorrect format.谷歌搜索后,我读到某处,当运行一个服务器场环境时,服务器需要共享相同的机器密钥,可以在IIS中配置.
为此,请按照下列步骤操作:
Generate a unique key for each application选项.此外,您需要确保每个服务器中的应用程序使用相同的标识.例如,选择应用程序节点(如果是这种情况,则选择站点节点),在右侧菜单中选择" 基本设置",然后选择" 连接为...".如果所选选项是" 应用程序用户",则需要检查应用程序池的配置方式.如果它使用网络服务(就像我的那样),你仍然会遇到问题,因为每个服务器都使用自己的凭据,但你必须确保它们使用相同的身份.
在我的场景中,我必须创建一个可以访问服务器场中每个服务器的用户,并使应用程序使用同一个用户.只有在这样做之后我的问题才得以解决.
| 归档时间: |
|
| 查看次数: |
1982 次 |
| 最近记录: |