Blazor 应用程序 /_blazor/disconnect 状态码 400
Posted
技术标签:
【中文标题】Blazor 应用程序 /_blazor/disconnect 状态码 400【英文标题】:Blazor Application /_blazor/disconnect statuscode 400 【发布时间】:2020-06-20 13:22:37 【问题描述】:我的 blazor 应用程序似乎可以运行,但我试图理解为什么我会收到 400 错误,如屏幕截图所示。
谁能给我一个提示,告诉我 Blazor 在技术上需要什么“断开连接”?
SCREENSHOT-disconnect
我在 nginx 网络服务器上运行一切。
感谢法比奥
【问题讨论】:
欢迎来到 SO!请查看***.com/help/how-to-ask 以了解如何编写简洁明了的问题。您可能应该提供一些代码示例来说明您正在做什么。 【参考方案1】:该调用发生在窗口卸载事件的代码中,用于告诉信号器服务器您正在断开连接。
如果您看到很多这样的情况,则可能是您的代理未正确配置 websocket 连接。
window.addEventListener(
'unload',
() =>
const data = new FormData();
const circuitId = circuit.circuitId!;
data.append('circuitId', circuitId);
navigator.sendBeacon('_blazor/disconnect', data);
,
false
);
【讨论】:
【参考方案2】:这里报告了此问题的错误: https://github.com/dotnet/aspnetcore/issues/30316
Blazor.server.js 不尊重 configureSignalR 构建器定义 断开连接的 url/路径
作为一种解决方法,我在Configure
方法中将此添加到Startup.cs
:
var rewriteOptions = new RewriteOptions();
rewriteOptions.AddRewrite("_blazor/disconnect", "/_blazor/disconnect", skipRemainingRules: true);
app.UseRewriter(rewriteOptions);
【讨论】:
以上是关于Blazor 应用程序 /_blazor/disconnect 状态码 400的主要内容,如果未能解决你的问题,请参考以下文章
Azure 静态 Web 应用 Blazor WASM .Net Core API 和标识 - 无法从“_configuration”加载设置
为啥 Blazor 使用 post 而不是 WebSockets?
带有 Blazor InputFile 组件的“无法读取属性 '_blazorFilesById' 的空错误”
Blazor University (38)JavaScript 互操作 —— 从 .NET 调用 JavaScript