New*_*v20 5 signalr blazor-server-side
我们有一个 Blazor 服务器端 Web 应用程序,其信号器托管在 IIS 上。我们为 Blazor.start() 添加了带有 reconnectionHandler 和 reconnectionOptions 的 EventListener。当打开网站作为以前的选项卡的一部分或在长时间睡眠后打开时,网站显示“发生错误。此应用程序可能不再响应,直到重新加载。 ”错误,并且控制台错误显示
Error: The list of component records is not valid.
Uncaught (in promise) Error: Invocation canceled due to the underlying connection being closed.
at e.connectionClosed (blazor.server.js:1:27242)
at e.connection.onclose (blazor.server.js:1:17377)
at e.stopConnection (blazor.server.js:1:61423)
at e.transport.onclose (blazor.server.js:1:59077)
at e.close (blazor.server.js:1:47811)
at e.stop (blazor.server.js:1:47400)
at e.<anonymous> (blazor.server.js:1:52950)
at blazor.server.js:1:49394
at Object.next (blazor.server.js:1:49499)
at a (blazor.server.js:1:48266)
Run Code Online (Sandbox Code Playgroud)
IIS 中没有负载平衡并且启用了 Websocket。我在 Blazor github 上检查了一下,一些解决方案建议的解决方案是在_Host.cshtml中添加一个无缓存元标记,例如
<meta http-equiv="Cache-Control" content="no-store" />
Run Code Online (Sandbox Code Playgroud)
即使添加了这个,我们仍然会遇到上述错误。我们是否遗漏了什么?任何帮助,将不胜感激。
正常使用该应用程序时不会出现该错误。信号器工作正常。
小智 1
我之前遇到过同样的问题,并在 github 上找到了详细说明相同问题的内容
正如史蒂夫所提到的,将以下内容放在body
标签内_Host.chtml
,而不是将其作为元标签。
@{
Response.Headers["Cache-Control"] = "no-store";
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2852 次 |
最近记录: |