Как установить заголовки HTTP из класса клиента, унаследованного от SoapHttpClientProtocol - PullRequest
0 голосов
/ 11 января 2011

Я использую класс MyClass, унаследованный от SoapHttpClientProtocol (автоматически создается в моем проекте путем создания WebReference из файла .wsdl, представляющего службу).

Перед вызовом "WebMethod" этой службы мне нужно настроить http-заголовок моего запроса. Я попытался перегрузить метод GetWebRequest () SoapHttpClientProtocol таким образом:

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;

        }
    }

Я надеялся, что GetWebRequest был вызван в конструкторе MyClass, по-видимому, это не так.

Может ли кто-нибудь мне помочь?

Ответы [ 2 ]

0 голосов
/ 11 января 2011

Правильно, виртуальный GetWebRequest должен вызываться каждый раз, когда вызывается веб-метод.

0 голосов
/ 11 января 2011

GetWebRequest вызывается, когда прокси-сервер должен получить веб-запрос.

...