SignalR 2.2 和 ARR3.0 负载平衡

2023-12-10

我正在使用 signalr2.2 Web 应用程序并托管在 IIS-8 中。这里我尝试使用ARR3.0为我的应用程序实现负载均衡。在我的服务器场中,我连接了两台服务器并将路由规则设置为“加权循环”。每个服务器都有一个带有 HTML 页面的 javascript 客户端。当我访问任何服务器的 HTML 页面时,请求已按预期路由,但我的 html 页面中出现此错误,并且信号器未连接

WebSocket 连接到 'ws://mydomain.com/signalr/connect?transport=webSockets&clientProtocol=1.5&connectionToken=x9rAfatyMm3TbqzrYKL1K37Z4tKrUTH7bwNmSItW55Z0ms6pe43YiQGFOmaHMyT%2BpmGz62ukt4tha72vPcJhdqLtIvsQvq vY15oYGv69JjzSuuiSL7v2l%2FccZT6tQa3Z&connectionData=%5B%7B%22name%22%3A%22chathub%22%7D%5D&tid=1'失败:WebSocket 握手期间出错:意外的响应代码:400

如果我使服务器场中该服务器的任何一个离线,信号器工作正常并且不会抛出任何错误。帮助我找到解决方案。

如果我从 .net 客户端应用程序与信号服务器进行通信,它将引发以下错误

启动请求期间出错。停止连接。


我也有这个问题。深入观察,错误是:The connection id is in the incorrect format。经过一番谷歌搜索后,我在某处读到,运行农场环境时,服务器需要共享相同的计算机密钥,可以在 IIS 中配置该密钥。

为此,请按照下列步骤操作:

  • 打开连接到场中任何服务器的 IIS。
  • 在服务器节点中,打开机器钥匙右侧窗格中的选项
  • 在右侧菜单中,单击生成密钥
  • 取消选中Generate a unique key for each application两者的选项验证密钥 and 解密密钥.
  • 复制生成的两个密钥(例如粘贴到记事本中)
  • 确保场中的所有服务器共享相同的密钥(ARR 服务器不需要这个),您可能需要在它们中重复上述步骤(也许一旦它们使用共享配置您就不需要)。

此外,您需要确保每个服务器中的应用程序使用相同的身份。例如,选择您的应用程序节点(或站点节点,如果是这种情况),在右侧菜单中选择基本设置, then 连接为...。如果选择的选项是应用用户,那么您需要检查您的应用程序池是如何配置的。如果它使用网络服务(就像我的一样),您仍然会遇到问题,因为每个服务器都使用自己的凭据,但您必须确保它们使用相同的身份。

在我的场景中,我必须创建一个有权访问场中每台服务器的用户,并让应用程序使用同一用户。只有这样做之后我的问题才得到解决。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SignalR 2.2 和 ARR3.0 负载平衡 的相关文章

随机推荐

  • 如何指导让经典的 asp 应用程序在 IIS 7.0 下工作

    我正在寻找一个很好的 简单的分步 操作方法 指南 以让经典的 asp 应用程序在 IIS 7 0 下工作 如果有什么区别的话 它是在 64 位 Windows Server 2008 计算机上 我们已经将一些经典 ASP 代码移至 64 位
  • 编辑列表列表中的字符串

    我从文本块中创建了一个列表列表 其中每个列表包含一行中的所有单词作为单独的元素 如下所示 listoflists Lorem ipsum dolor sit amet n consectetur adipiscing elit donec
  • 如何在docker容器运行时自动启动服务?

    我有一个Dockerfile在容器中安装 MySQL 服务器 然后我像这样启动 sudo docker run t i 09d18b9a12be bin bash 但是 MySQL 服务不会自动启动 我必须手动运行 从容器内 service
  • Swift 告诉我的 _: 是什么?

    函数定义中单独的下划线是什么意思 e g map 我知道在定义函数时我可以这样做 func myFunc string String 那么我可以将其称为myFunc 代替myFunc string 即故意隐藏参数名称 The 用于定义参数未
  • 脚本可以在 powershell 中运行,但不能在 c# 中运行

    该脚本在 PowerShell ISE 中运行时有效 它设置给定用户的远程桌面服务配置文件Active Directory 中的设置 Get ADUser FirstName LastName ForEach Object User ADS
  • 如何获取 os.system() 的输出? [复制]

    这个问题在这里已经有答案了 我想得到输出os system nslookup google com 但我总是得到0 打印时 这是为什么 我该如何解决这个问题 Python 3 Mac 我在看如何在python中存储已打印到stdout的os
  • 使用 WPF + Windows Azure 存储二进制数据(图像、文件等)

    我有一个使用 Windows Azure 作为后端的 WPF 应用程序 我使用 SQL Azure 存储 WPF 应用程序通过 WCF 服务访问的数据 我需要能够在服务器端存储二进制文件 例如图像 并想知道存储这些文件的最佳方法是什么 我可
  • 添加与 GDK 的共享联系人

    我正在研究 Google Glass GDK 并且正在寻找是否可以从应用程序添加共享联系人 我在官方文件中没有看到任何对此的引用 我想知道你是否可以这样做 感谢您的帮助 目前先睹为快的GDK尚不支持添加共享联系人 如果您对此功能感兴趣 请在
  • 将意图保存在共享首选项中

    我有一个应用程序 我可以从中启动手机上安装的其他应用程序 长按我可以获得应用程序选择器 结果我收到一个意图数据 我如何保存它以便用户在关闭时返回我的应用程序有相同的快捷方式设置吗 我保存其他类似的东西 SharedPreferences s
  • 版本不匹配 global tsc 1.0.3.0 != VS Code 的语言服务 (2.2.1)

    I have this popup presented 我尝试通过在 cmd 中执行以下命令来安装正确的 tsc npm install g save dev email protected and npm install save dev
  • python pandas 带括号和不带括号的函数

    我注意到许多 DataFrame 函数如果不带括号使用似乎表现得像 属性 例如 In 200 df DataFrame np random randn 7 2 In 201 df head Out 201 0 1 0 1 325883 0
  • 有没有办法查看架构验证失败的位置?

    我正在尝试根据某种复杂的 模式 如空手道文档中定义 验证 json 我得到的错误并不那么明确 reason not equal 我如何检查它实际上在哪里验证失败 真的很抱歉 这都是我的错 我知道这对你没有帮助 但我现在正在重写空手道的核心
  • 如何定义一个地图接受 Thrift 中不同类型的值?

    我用 thrift 定义了一个结构 struct QuerySetRecord 1 string recordId 2 string crawlerName 3 string recordType 4 map
  • 仅删除 HTML 字符串中标签之间的多余空格

    嗨 我有一个 HTML 字符串 例如 div p You have received an alert from project span class fields Project Name span br p p span class f
  • 我可以暂停和恢复线程吗?

    我正在尝试创建一个线程 它在后台执行操作 我需要能够在需要时有效地 暂停 它 并在以后再次 恢复 它 另外 如果当我 暂停 线程时线程正在执行某些操作 它应该使调用线程等待 直到它完成正在执行的操作 我对 Python 中的多线程还很陌生
  • 如何使用 REST 将数据从 AngularJS 发布到 Struts 2

    我需要从客户端获取到服务器端的值 我正在使用 AngularJS 和 Struts2 REST 我的控制器没有获取传递的值 还是我传递或使用 RESTful 控制器时出错了 这是我的代码 angularcontroller js app c
  • Android Studio 意外的顶级异常:

    今天 我遇到了一个巨大的错误 不允许我在手机上运行示例项目 当 Android Studio 构建项目时 它首先显示以下目标 UP TO DATE demoproject processDebugResources UP TO DATE d
  • 如何获取java中两个日期之间的日期列表?如何还包含/排除开始日期/结束日期?

    我已经尝试过堆栈溢出中给出的示例java中如何获取两个日期之间的日期列表 该代码完美运行 但有一个小问题 我的列表中也没有得到结束日期 如何选择包含 排除开始日期并包含结束日期 我可以使用remove 和add 手动执行此操作吗 或者Jod
  • 将 checkstyle-configuration 从声纳导入到 eclipse-checkstyle-plugin

    我想从声纳导出 checkstyle 规则并将它们导入到 checkstyle eclipse 插件中 不幸的是 sonar 将 checkstyle 规则导出到 csv 文件 但 checkstyle 插件只接受 xml 文件的导入 有什
  • SignalR 2.2 和 ARR3.0 负载平衡

    我正在使用 signalr2 2 Web 应用程序并托管在 IIS 8 中 这里我尝试使用ARR3 0为我的应用程序实现负载均衡 在我的服务器场中 我连接了两台服务器并将路由规则设置为 加权循环 每个服务器都有一个带有 HTML 页面的 j