如何在WCF / REST服务中向Response添加多个cookie
我可以访问WebOperationContext
并可以通过这样做添加一个cookie:
WebOperationContext.Current.OutgoingResponse.Headers.Add("Set-Cookie: foo_a=bar_a");
但是如果我多次打电话,例如:
WebOperationContext.Current.OutgoingResponse.Headers.Add("Set-Cookie: foo_a=bar_a"); WebOperationContext.Current.OutgoingResponse.Headers.Add("Set-Cookie: foo_b=bar_b");
我应该在我的标题中获得以下内容(2个cookie):
Set-Cookie: foo_a=bar_a Set-Cookie: foo_b=bar_b
而是得到:
Set-Cookie: foo_a=bar_a, foo_b=bar_b
如何设置多个cookie? 谢谢
原来可以在一个Set-Cookie:标题行上设置cookie,但是你需要放置一个’;’ cookie末尾的分号…
WebOperationContext.Current.OutgoingResponse.Headers.Add("Set-Cookie: foo_a=bar_a;," + foo_b=bar_b;");
那么结果将是:(哪个浏览器认为是2个cookie而不仅仅是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`
您可以使用HttpContext.Current.Response.SetCookie
。