установка заголовков конечных точек wcf в коде - PullRequest
1 голос
/ 06 декабря 2010

Что такое кодовый эквивалент настройки заголовков конечных точек в конфигурации?

<client>
<endpoint address="http://localhost/..." >
<headers>
<something>blah</something>
</headers>
</endpoint>

Ответы [ 2 ]

4 голосов
/ 31 января 2012

Альтернативой, которая не требует создания нового OperationContextScope и установки заголовка при каждом использовании клиента, является указание заголовков при создании EndpointAddress .

Пример (адаптировано из https://stackoverflow.com/a/5340009/35233)

var binding = new WSHttpBinding ();
var address = new EndpointAddress (
    new Uri (RemoteAddress),
    new AddressHeader[] {
        AddressHeader.CreateAddressHeader ("APIKey", "", "bda11d91-7ade-4da1-855d-24adfe39d174")
    });

var client = new ExampleClient (binding, address);
2 голосов
/ 09 декабря 2010

Это работает:

var header = MessageHeader.CreateHeader("something", "", "blah");

using (new OperationContextScope(channel))
{
  OperationContext.Current.OutgoingMessageHeaders.Add(header);

  //your normal call here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...