1

我正在使用从 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,显然不是。

有人可以帮助我吗?

4

2 回答 2

0

当代理需要获取 Web 请求时调用 GetWebRequest。

于 2011-01-11T19:29:01.907 回答
0

没错,每次调用 Web 方法时都应该调用 GetWebRequest 虚拟函数。

于 2011-01-11T19:29:30.590 回答