首页 > 解决方案 > ASP.NET 核心 SignalR 调用中的 HttpContext 和响应标头?

问题描述

首先,我了解 SignalR 使用 Websockets、LongPoll、SSEs 作为底层协议。该调用最初以 HTTP 握手开始,最终升级为上述三个之一。(如果不是这种情况,请纠正我的理解)。让我们假设我的服务仅将 TransportType 指定为 WebSockets。

鉴于此,以及所有后续调用都是通过 WebSocket 协议而不是通过 HTTP 进行的事实,我们如何能够HttpContext从 SignalR Hub 上下文中获取?它不应该在第一次握手后可用,因为这是唯一的 HTTP 调用,对吧?

我正在尝试将 SignalR 调用中的响应标头传递回客户端 - 但是我正处于拔出头发的边缘,因为似乎绝对没有关于如何做到这一点的文档或不支持它。

您能否帮助我了解如何以及何时在 SignalR 请求上下文(HubContext)中填充 HttpContext 背后的逻辑?另外,如果可行,请帮助弄清楚如何传递响应标头?

标签: c#websocketsignalrhttpcontextasp.net-core-signalr

解决方案


推荐阅读