问题描述
我在 .NET Core 中使用我认为相当“标准”的代码来实现 Web 套接字服务器:
if (ctx.Request.Path == "/api/v1/sometest")
{
if (ctx.WebSockets.IsWebSocketRequest)
{
WebSocket wsSock = await ctx.WebSockets.AcceptWebSocketAsync();
但我永远无法建立会话,因为 IsWebSocketRequest 始终为空。
我知道我一定遗漏了一些东西,但不确定是什么...扫描了 github dotnet 源代码,看看我是否可以这样解决,但还没有找到解决方案。
我使用的是 Windows 10 红隼 VS代码 .NET 核心 3.1
解决方法
我在 Startup.ConfigureServices 中有 AddWebSockets 但我忘记在 Startup.Configure 中也包含中间件。在此处调用 app.UseWebSockets 以在您的链中注册中间件。