c# - 从服务器上的 SignalR hub 设置 cookie

标签 c# asp.net signalr

无论如何我可以从 SignalR 集线器内部设置 cookie,特别是 OnConnected 方法。我想发送一个带有 session 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;
}

最佳答案

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

var newCookie = new HttpCookie("cookieName", "cookieValue");
Context.Request.GetHttpContext().Response.Cookies.Add(newCookie);

关于c# - 从服务器上的 SignalR hub 设置 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15113176/

相关文章:

c# - 测试 EF 保存更改修饰符。传入 DbPropertyValues

asp.net - ASP 菜单未显示

c# - asp .net 和 asp .net core 有什么区别?

javascript - ASP.NET Core 2.1 SignalR 未定义

asp.net-mvc - 在 IIS Express 中测试 SignalR 应用程序

javascript - 从 SignalR Core 连接检测丢失的连接

c# - 如何相对于按钮在 Windows 应用商店应用程序中定位弹出控件?

c# - SimpleInjector 的 WebAPIRequest 生命周期是否包括消息处理程序?

c# - 为什么 (object)0 == (object)0 不同于 ((object)0).Equals((object)0)?

asp.net - 将 SQL server 2008 用于 ASP.net 2.0 Membership provider