2014-10-10 3 views
3

Как можно читать многозначные файлы cookie в концентраторе SignalR?Как читать многозначные файлы cookie в SignalR?

Например: Я печенье хранится как-

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>] 
} 

Кто-нибудь знает, как это сделать?

+0

Не это работает как в ASP.NET? http://stackoverflow.com/questions/1173729/storing-multiple-values-in-cookies – vtortola

+0

@vtortola Нет, это не работает. – Flair

ответ

1

Хотя вопрос слишком стар. Надеюсь, это поможет другим.

Я использую SignalR 2.2.1.0 и вот решение:

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

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