我正在将我的Web服务从.ASMX切换到.SVC,但是其中一些依赖于HTTP请求中传递的cookie值。
使用WCF Web服务,HttpContext.Current
为空。您可以通过将aspNetCompatibilityEnabled
设置为true
来更改此设置,但是此设置与IIS7上的集成管道模式不兼容,我也想使用它。
WCF是否实现了一种很酷的新的现代访问cookie方式?
答案 0 :(得分:3)
WCF是否实现了一种很酷的新的现代访问cookie方式?
WCF确实有办法访问cookie,但我不知道我是否称之为“酷新现代”。实质上,在您的服务操作中,您可以访问WebOperationContext.Current.IncomingRequest.Headers[HttpRequestHeader.Cookie]
属性,这将为您提供客户端发送的Cookie
标头的值 - 作为字符串。此时,您可以随意解析它。
答案 1 :(得分:0)
除了正确的答案,您还需要确保将绑定的allowCookies属性设置为false。
如果设置为true,WCF将接管cookie管理并在标题到达您的代码之前将其从标题中删除。 见MSDN Forum
(对不起,暂不公开。)