gpt4 book ai didi

signalr - Blazor Server 每次使用的连接数受浏览器限制

转载 作者:行者123 更新时间:2023-12-04 01:14:48 24 4
gpt4 key购买 nike

我正在构建 Blazor 服务器端数据库应用程序。
我的要求之一是用户可以在不同的选项卡中打开每个网站页面。
我发现打开 5 个选项卡后,任何新页面都会被阻止呈现。如果我关闭一页,则可以呈现第 6 页。显然这是因为浏览器一次只能支持有限数量的 SignalR 连接。我已经阅读了 Chrome 的限制是 6 一次(虽然我只能得到 5 个工作)。
Chrome 中的错误消息:

Error: Connection disconnected with error 'Error: Server returned handshake error: Handshake was canceled.'

Error: Error: Server returned handshake error: Handshake was canceled.

Uncaught (in promise) Error: Cannot send data if the connection is not in the 'Connected' State.
at e.send (blazor.server.js:1)
这个问题有解决方案吗?还是我需要探索移植到 Blazor 客户端?
我找到了有关此主题的以下文章,但不确定它是否可以应用于 Blazor 应用程序:
SignalR and Browser Connection limit
这有点吓人,因为我已经构建了相当多的代码,并且不想花太多时间尝试破解解决方法。

最佳答案

我终于设法在我的内部网络上复制它,现在我已经安装了 WebSockets,它似乎已经解决了。

  • 打开服务器管理器
  • 打开添加角色和功能
  • 展开网络服务器 (IIS)
  • 展开应用开发
  • 选择 WebSocket 协议(protocol)

  • 安装后,我打开了我的 blazor 服务器应用程序的 20 个选项卡,每个选项卡都在不同的页面上,并且问题没有再次出现(我还对每个选项卡进行了几次刷新以确保)。
    我在阅读后遇到了这个

    Blazor works best when using WebSockets as the SignalR transport due to lower latency, reliability, and security. Long Polling is used by SignalR when WebSockets isn't available or when the app is explicitly configured to use Long Polling.


    From the Blazor docs .

    关于signalr - Blazor Server 每次使用的连接数受浏览器限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63693352/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com