如何在HttpTransportBindingElement上添加cookie

时间:2009-01-12 14:36:34

标签: wcf cookies http-headers

我正在使用 WCF客户端 WCF服务(运行AspNetCompabilityMode)进行通信,我想添加 Cookie (在客户端上)每次调用此Web服务。

我查看了 HttpTransportBindingElement ,但我找不到添加cookie的位置 - 是否可以向HttpTransportBindingElement添加cookie,还是应该考虑另一种方法?

3 个答案:

答案 0 :(得分:3)

http://megakemp.wordpress.com/2009/02/06/managing-shared-cookies-in-wcf/

与其他答案中提供的其他手册不同,本手册以结构合理的方式在一个地方包含您需要的所有信息。

答案 1 :(得分:2)

您必须为绑定设置allowCookies配置选项 false 。这听起来很奇怪,但在此解释原因:

http://kennyw.com/indigo/211

一旦你这样做,你必须使用这里描述的方法自己添加cookie:

http://kennyw.com/indigo/153

答案 2 :(得分:2)

http://kennyw.com/indigo/153中描述的方法适用于每个服务呼叫。这意味着您必须确保对WCF服务进行所有调用 创建 OperationContextScope 对象后 之前 否则,cookie永远不会被添加到请求中。

如果您正在寻找一个集中式解决方案来手动将cookie添加到对WCF服务发出的所有传出HTTP请求,请查看此主题:

http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/624fb3f9-222d-4795-9140-fe9ef3934361/