【发布时间】:2011-01-12 04:48:22
【问题描述】:
我正在使用从 SoapHttpClientProtocol 继承的 MyClass 类(通过从 .wsdl 文件创建 WebReference 在我的项目中自动生成,代表服务)。
在调用此服务的“WebMethod”之前,我需要自定义我的请求的 http 标头。我尝试以这种方式重载 SoapHttpClientProtocol 的 GetWebRequest() 方法:
public partial class MyClass: System.Web.Services.Protocols.SoapHttpClientProtocol{
protected override WebRequest GetWebRequest(Uri uri) {
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(uri);
request.Headers.Add("MyCustomHeader", "MyCustomHeaderValue");
return request;
}
}
我希望在 MyClass 的构造函数中调用 GetWebRequest,显然不是。
有人可以帮我吗?
【问题讨论】:
-
感谢您的回答,这很有帮助。不幸的是,如果你说的是真的(我不怀疑;)),这意味着服务应该能够使用我的自定义标头,并且它不能(显然)......在调用 GetWebRequest() 之后,是还有另一种方法,可以(以任何方式)清除现有标题?
-
我添加了一些类似于我的 SoapHttpClientProtocol 实现的东西,但它似乎并没有真正添加标题,或者至少服务无法识别它们。您在这方面取得了进展吗?
标签: .net header soaphttpclientprotocol