C# 有没有办法从WCF Web服务方法访问cookie值?

C# 有没有办法从WCF Web服务方法访问cookie值?,c#,.net,wcf,web-services,cookies,C#,.net,Wcf,Web Services,Cookies,我正在将web服务从.ASMX切换到.SVC,但是其中有几个依赖于HTTP请求中传递的cookie值 对于WCF web服务,HttpContext.Current为空。您可以通过将aspNetCompatibilityEnabled设置为true来更改此设置,但是此设置与我也想使用的IIS7上的集成管道模式不兼容 WCF是否实现了一些很酷的新的访问cookie的现代方式 WCF是否实现了一些很酷的新的访问cookie的现代方式 WCF确实有办法访问cookies,但我不知道我是否会称之为“酷新

我正在将web服务从.ASMX切换到.SVC,但是其中有几个依赖于HTTP请求中传递的cookie值

对于WCF web服务,
HttpContext.Current
为空。您可以通过将
aspNetCompatibilityEnabled
设置为
true
来更改此设置,但是此设置与我也想使用的IIS7上的集成管道模式不兼容

WCF是否实现了一些很酷的新的访问cookie的现代方式

WCF是否实现了一些很酷的新的访问cookie的现代方式


WCF确实有办法访问cookies,但我不知道我是否会称之为“酷新现代”。本质上,在您的服务操作中,您可以访问
WebOperationContext.Current.IncomingRequest.Headers[HttpRequestHeader.Cookie]
属性,这将为您提供客户端发送的
Cookie
头的值(作为字符串)。此时,您可以随意解析它。

除了正确的答案之外,您还需要确保将绑定的allowCookies属性设置为false

如果设置为true,WCF将接管cookie管理,并在cookie到达您的代码之前将其从标头中剥离。 看


(对不起,现在还不能评论。)

WCF是否实现了一些很酷的访问cookie的新的现代方式?不。这听起来像是臭名昭著的WCF骗局之一。@dbaseman-是的,我读得越多,就越觉得自己运气不好。。唉……谢谢!标记为答案,因为这在技术上满足了我的问题。然而,我决定重新考虑web服务,不使用cookies,从我的研究来看,这似乎是一个更具建议性的设计?我实际上是在用你的代码!我确实发现了一个bug,这是我在Q&A下留下的(在imaudi下)…我也面临着同样的问题,我尝试了这里提到的所有解决方案。但是在我的例子中,
WebOperationContext.Current.IncomingRequest.Headers
没有名为cookie或类似的密钥。请帮忙