如何在SignalR中读取多值cookie?

4

如何在SignalR Hub中读取多值cookie?

例如:我有一个存储为-

var myCookie = new NameValueCollection();
myCookie.Add("IdOne", "Value1");
myCookie.Add("IdTwo", "Value2");

var webDummyCookie = new CookieHeaderValue("dummyCookie", myCookie);
response.Headers.AddCookies(new CookieHeaderValue[] { webDummyCookie });

我该如何分别获取IdOne和IdTwo的值?

使用SignalR,我能做的是:

Cookie cookie; //Microsoft.AspNet.SignalR.Cookie
var cookies = Context.Request.Cookies;

if (cookies.TryGetValue(dummyCookie, out cookie) && cookie.Value != null)
{
    var receivedCookie = cookie.Value; //Here is the problem, as I can't do .Values[<key>]
}

它是否与ASP.NET中的工作方式不同?https://dev59.com/rHM_5IYBdhLWcg3w6HvT - vtortola
@vtortola 不,它不是那样工作的。 - Flair
1个回答

4
var httpContext = Context.Request.GetHttpContext();
var dummyCookie= httpContext.Request.Cookies["dummyCookie"];

if(dummyCookie != null)
{
   var receivedCookie = dummyCookie["IdOne"]; // result
}

我使用 SignalR 2.2.1.0


3
更新后的SignalR版本:var cookie = Context.Features.Get<IHttpContextFeature>().HttpContext.Request.Cookies["dummyCookie"]; - mdonatas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接