Я использую то, что считаю довольно стандартным кодом в .NET Core для реализации сервера веб-сокетов:
if (ctx.Request.Path == "/api/v1/sometest")
{
if (ctx.WebSockets.IsWebSocketRequest)
{
WebSocket wsSock = await ctx.WebSockets.AcceptWebSocketAsync();
Но я никогда не могу установить сеанс, потому что IsWebSocketRequest всегда равен нулю.
Я вижу заголовки Connection: Upgrade и Upgrade: websocket...
Я знаю, что, должно быть, что-то упускаю, но не знаю, что... Просканировал исходный код github dotnet, чтобы узнать, смогу ли я понять это таким образом, но пока не удалось найти решение.
Я использую Windows 10 Kestrel VS Code .NET Core 3.1.