c# - 向Web服务端口客户端添加cookie

标签 c# web-services client cookies cookiecontainer

我在我的应用程序中使用 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"添加到 basicHttpBindingbasicHttpsBinding 作为绑定(bind)的属性。

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

关于c# - 向Web服务端口客户端添加cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1188125/

相关文章:

c# - 无法将类型 'T' 隐式转换为 'T

c# - 我可以在 C# 中使用不同类型初始化类的公共(public)属性吗?

javascript - 自动完成搜索从服务器检索数据花费的时间太长

c# - 使用 .NET 和 Xamarin 的服务器客户端应用程序

Java 证书客户端 SSL : unable to find valid certification path to requested target

python - 如何使用python增加grpc中的消息大小

c# - 在已发布的应用程序中上传到 Blob 存储时出现 IOException

c# - 通过NEST客户端进行 Elasticsearch 中的索引的GetById

java - 在 JBOSS 6.1.0 上部署 SOAP Web 服务

asp.net - ASP.NET Web 服务命名空间子域重要吗?