Как добавить несколько файлов cookie в Response в сервисе WCF / REST - PullRequest
4 голосов
/ 15 марта 2010

У меня есть доступ к WebOperationContext и я могу добавить один cookie, выполнив следующее:

 WebOperationContext.Current.OutgoingResponse.Headers.Add("Set-Cookie: foo_a=bar_a");

Однако, если я позвоню так несколько раз, например ::100100

 WebOperationContext.Current.OutgoingResponse.Headers.Add("Set-Cookie: foo_a=bar_a");
 WebOperationContext.Current.OutgoingResponse.Headers.Add("Set-Cookie: foo_b=bar_b");

Я должен получить следующее в моем заголовке (2 куки):

Set-Cookie: foo_a=bar_a
Set-Cookie: foo_b=bar_b

Но вместо этого получите:

Set-Cookie: foo_a=bar_a, foo_b=bar_b

Как установить несколько файлов cookie? Thx

Ответы [ 2 ]

0 голосов
/ 15 октября 2013

Вместо этого вы можете использовать HttpContext.Current.Response.SetCookie.

0 голосов
/ 15 марта 2010

Оказывается, куки могут быть установлены в одной строке заголовка Set-Cookie:, но вам нужно будет поставить ';' точка с запятой в конце печенья ...

 WebOperationContext.Current.OutgoingResponse.Headers.Add("Set-Cookie: foo_a=bar_a;," 
                                                           + foo_b=bar_b;");

тогда результат будет: (какой браузер считает 2 куки, а не только 1)

Set-Cookie: foo_a=bar_a;, foo_b=bar_b;
// browser sees this as 2 cookies: `foo_a` & `foo_b`

в отличие от

Set-Cookie: foo_a=bar_a, foo_b=bar_b
// browser sees this as 1 cookie: `foo_a` with value: `=bar_a, foo_b=bar_b`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...