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

时间:2012-12-01 07:31:16

标签: c# .net wcf web-services cookies

我正在将我的Web服务从.ASMX切换到.SVC,但是其中一些依赖于HTTP请求中传递的cookie值。

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

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

2 个答案:

答案 0 :(得分:3)

  

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

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

答案 1 :(得分:0)

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

如果设置为true,WCF将接管cookie管理并在标题到达您的代码之前将其从标题中删除。 见MSDN Forum

(对不起,暂不公开。)