HttpContextBase 不包含 'WebSockets' MVC 的定义

HttpContextBase does not contain a definition for 'WebSockets' MVC

我已经构建了一个休息 api(mvc 应用程序)。我想重建数据加载并通过 http-post/-get.

的 websocket 调用它

我试过了:

public class WebsocketController : Controller
{
    
    [HttpGet("/ws")]
    public async Task Get()
    {
        if (HttpContext.WebSockets.IsWebSocketRequest)
        {
            using WebSocket webSocket = await
                               HttpContext.WebSockets.AcceptWebSocketAsync();
            await Echo(HttpContext, webSocket);
        }
        else
        {
            HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest;
        }
    }
}

这确实有效,因为未定义 WebSocket。

是否可以将 websocket 添加到 mvc 控制器?

在 ms-article (https://docs.microsoft.com/en-us/aspnet/core/fundamentals/websockets?view=aspnetcore-3.1) 中,它说要向 StartUp.cs

添加一些内容

但是我的 mvc 解决方案在 Global.asax.cs 文件

中确实有一个 startup.cs 而是一个空 Application_Start

为了让 Websocket 正常工作,我创建了一个新的 asp.net 核心 (.net 5.0) 项目