我正在尝试使用ASP.NET Core WebSocket,但当new WebSocket("ws://localhost:5702");在JavaScript中使用时出现了如下错误:
WebSocket connection to 'ws://localhost:5702/' failed: Error during WebSocket handshake: Unexpected response code: 200我在Startup.cs中的配置方法
public void Configure(IApplicationBuilder app)
{
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseWebSockets();
app.UseWebSocketHandler();
}我的Middlewares\WebSocketMiddleware.cs
WebSocketMiddleware.cs
有人知道吗?
谢谢。
发布于 2017-03-28 17:19:02
您正在经历的行为是因为其他一些中间件(UseStaticFiles)正在将200个OK代码返回到websocket客户端。
为了避免这种情况,请确保将WebSocket中间件放在 UseStaticFiles()之前。就我个人而言,我会把它放在顶端,就像这样:
public void Configure(IApplicationBuilder app)
{
//first handle any websocket requests
app.UseWebSockets();
app.UseWebSocketHandler();
//now handle other requests (default, static files, mvc actions, ...)
app.UseDefaultFiles();
app.UseStaticFiles();
//app.UseMvc(...);
}https://stackoverflow.com/questions/42980691
复制相似问题