首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET Core WebSocket握手失败

ASP.NET Core WebSocket握手失败
EN

Stack Overflow用户
提问于 2017-03-23 15:38:51
回答 1查看 5.7K关注 0票数 2

我正在尝试使用ASP.NET Core WebSocket,但当new WebSocket("ws://localhost:5702");在JavaScript中使用时出现了如下错误:

代码语言:javascript
复制
WebSocket connection to 'ws://localhost:5702/' failed: Error during WebSocket handshake: Unexpected response code: 200

我在Startup.cs中的配置方法

代码语言:javascript
复制
public void Configure(IApplicationBuilder app)
{
     app.UseDefaultFiles();

     app.UseStaticFiles();

     app.UseWebSockets();
     app.UseWebSocketHandler();
}

我的Middlewares\WebSocketMiddleware.cs

WebSocketMiddleware.cs

有人知道吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-28 17:19:02

您正在经历的行为是因为其他一些中间件(UseStaticFiles)正在将200个OK代码返回到websocket客户端。

为了避免这种情况,请确保将WebSocket中间件放在 UseStaticFiles()之前。就我个人而言,我会把它放在顶端,就像这样:

代码语言:javascript
复制
    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(...);
    }
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42980691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档