当我尝试HttpContext
从 HUB 访问当前会话时,它会返回null
.
我尝试使用该界面IRequiresSession
,但没有用。有人能帮我吗?
当我尝试HttpContext
从 HUB 访问当前会话时,它会返回null
.
我尝试使用该界面IRequiresSession
,但没有用。有人能帮我吗?
SignalR 连接(包括客户端所有 Hub 操作的基础连接)不支持会话状态。如果您愿意,您可以启用它,但我们强烈建议您不要启用它,因为会话状态访问会序列化给定客户端的请求,这意味着您将不再真正从 SignalR 双工消息传递中受益,因为一个请求会阻塞另一个请求,例如在长轮询传输中,接收连接将阻止任何发送尝试。
你可以简单地维护自己的会话,例如在内存缓存中使用,http是无状态的,所以服务器需要会话来维护客户端,但是web socket是保持连接的,服务器与客户端保持连接,默认情况下不需要像这样的东西HttpContext 会话。
我用隐藏字段解决了同样的问题,如下所示: