从服务器上的SignalR集线器设置cookie

Wil*_*eer 7 c# asp.net signalr

无论如何我可以在SignalR集线器内设置一个cookie,特别是OnConnected方法.我想发送一个带有会话ID的cookie.

我尝试了这个,但它似乎没有用,它看起来也很尴尬,因为我不确定为什么我需要提供字符串和cookie的键值对.

public override Task OnConnected()
{
    var guid = new Guid();
    Context.RequestCookies.Add("SessionID", new Microsoft.AspNet.SignalR.Cookie("SessionID", guid.ToString()));
    return null;
}
Run Code Online (Sandbox Code Playgroud)

tat*_*tat 4

这是一个老问题,但以防万一有人偶然发现它,有一种方法可以从 signalr 2.0+ 中的集线器添加 cookie。可以通过集线器请求上下文访问 HttpContextBase,因此您可以执行以下操作:

var newCookie = new HttpCookie("cookieName", "cookieValue");
Context.Request.GetHttpContext().Response.Cookies.Add(newCookie);
Run Code Online (Sandbox Code Playgroud)

  • 它不起作用,并显示“在此情况下无法做出响应”。 (2认同)