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