连接SignalR失败,WebSocket握手期间出现错误:代码400。

9
我有一个 SignalR WebSocket 用于显示通知。
连接的代码如下:
$.connection.hub.start().done(function(){
  console.log("connected");
});
            
var notif = $.connection.notificationHub;
console.log(notif);

部署到生产服务器后,SignalR无法工作,并在控制台中显示此错误: console errpr 生产服务器正在使用IIS 8.5。这个错误是什么原因引起的?谢谢。

1
可能是重复的问题:SignalR: Error during WebSocket handshake: Unexpected response code: 400 - Saurabh Srivastava
你正在使用 .netcore 吗? - jeanfrg
1个回答

1
你的 web.config 文件中是否有这个标签在 <system.web> 标签内?
<httpRuntime maxRequestLength="40960" targetFramework="4.5" requestValidationMode="2.0" />

如果不起作用,请尝试在SignalR中使用长轮询而不是WebSockets,看看是否会出现相同的错误。

这对我有用,但是无法想象为什么会这样。你有什么想法吗?我发现,在后台中间件与 SignalR 一起尝试解析请求身份验证令牌时失败了,但无法获取更多详细信息。 - Vladimir Shmidt
虽然我不知道这个解决方案是如何避免响应错误代码400的,但它至少可以防止多个人出现“连接重置”错误。请参见https://dev59.com/P4vda4cB1Zd3GeqPXUqH#37531108线程。 - Otto G
这个问题对于 .NET Core 仍然有效吗? - Luke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接