2

我在我的应用程序中使用了一个 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?

4

2 回答 2

4

svcutil.exe不过,生成的代理有一些优点。

CookieContainer现在可以通过 app.config 控制让客户端保存并返回服务器返回的 cookie(过去只需添加 a即可)。将allowCookies="true" 添加到basicHttpBindingorbasicHttpsBinding作为绑定的属性。

或者,使用 WCF 配置编辑器执行相同操作。

于 2010-01-25T05:06:10.097 回答
0

我解决了这个问题。我没有创建服务引用,而是添加了 Web 引用,并且生成的客户端具有wsdl.exe预生成类的所有属性。

于 2009-07-28T08:32:56.697 回答