4

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

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

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

4

2 回答 2

3

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

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

于 2012-12-01T14:32:33.240 回答
1

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

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

(抱歉,还不能评论。)

于 2016-03-23T09:04:14.740 回答