ASP.NET Core 1.0 WebSocket设置?

Mei*_*hes 14 websocket asp.net-core

我很难找到一个在ASP.NET Core 1.0中设置WebSockets的例子; 它们似乎都适用于以前版本的ASP.NET,有些依赖于context(对我来说)似乎不存在的属性.

主文档也只有一个占位符.http://docs.asp.net/en/latest/

例如:

app.UseWebSockets();

app.Use(async (context, next) =>
{
    if (context.IsWebSocketRequest)
    {
        WebSocket webSocket = await context.AcceptWebSocketAsync();
        await EchoWebSocket(webSocket);
    }
    else
    {
        await next();
    }
});
Run Code Online (Sandbox Code Playgroud)

不起作用,因为IsWebSocketRequest现在不存在.ASP.NET Core 1.0中的正确方法是什么?

Mei*_*hes 13

经过一些拆卸,它看起来像是被移动了一下; 还有一个新的WebSocketManager

app.UseWebSockets();

app.Use(async (context, next) =>
{
    var http = (HttpContext) context;

    if (http.WebSockets.IsWebSocketRequest)
    {
        WebSocket webSocket = await http.WebSockets.AcceptWebSocketAsync();
    }
});
Run Code Online (Sandbox Code Playgroud)

事实证明,因为存在编译错误,它假定上下文是类型RequestDelegate.修复使用后context.WebSockets.IsWebSocketRequest,现在知道上下文了HttpContext