C#SignalR GetHttpContext / HttpContext响应不存在

时间:2018-05-08 13:15:06

标签: c# asp.net websocket signalr

升级asp.net应用程序以使用启用了WebSocket协议的SignalR时出现问题。事先,只使用SignalR,我就可以在启用websocket协议之前设置和添加响应cookie。我现在注意到在使用来自HttpContext的HttpResponse和来自GetHttpContext的HttpResponseBase进行调试时,我要么得到了

  

在此上下文中无法获得响应

  

引发了System.Web.HttpException类型的异常

 Context.Request.GetHttpContext().Response

 HttpContext.Current.Response.Cookies

有趣的是,上下文的请求仍然存在,并没有给我任何问题。此外,这发生在SignalR HUB类中。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

原因是SignalR的底层技术与MVC不同 - 没有设置cookie的能力(cookie在HTTP响应中设置,但在使用Web套接字时没有这样的东西。)

所以,基本上你不能这样做。但是,您可以使用集线器的上下文读取cookie(无论如何,在websocket连接初始化时的cookie ......)。