我在我的应用程序中使用 Web 服务,需要设置特定的 Cookie 才能访问其方法。
我使用的是使用 wsdl.exe
工具创建的该服务的生成包装类。使用该方法一切正常。
// this is the instance of object generated with wsdl.exe
WSWrapper service = new WSWrapper();
// set cookie
service.CookieContainer = new CookieContainer();
Cookie cookie = new Cookie(name, value, path, domain);
service.CookieContainer.Add(cookie);
// run method requiring cookie to be set
service.Test();
现在我想使用服务引用而不是预先生成的类来做类似的事情。我添加了 Web 引用,但生成的服务引用端口客户端中似乎没有 CookieContainer
(或类似的内容)。
有人知道如何向该客户端添加 cookie 吗?
最佳答案
不过,svcutil.exe
生成的代理有一些优点。
现在可以通过 app.config 控制让客户端保存并返回服务器返回的 cookie(过去只需添加 CookieContainer
即可完成)。将 allowCookies="true
"添加到 basicHttpBinding
或 basicHttpsBinding
作为绑定(bind)的属性。
或者使用 WCF 配置编辑器执行相同的操作。
关于c# - 向Web服务端口客户端添加cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1188125/