本文介绍了从服务器上的SignalR集线器设置Cookie的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有我可以从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;
}

SignalR2.0+

推荐答案

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

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

这篇关于从服务器上的SignalR集线器设置Cookie的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-16 12:10