Что такое эквивалент кода настроек конечных точек в конфигурации?Настройка заголовков конечных точек wcf в коде
<client>
<endpoint address="http://localhost/..." >
<headers>
<something>blah</something>
</headers>
</endpoint>
Что такое эквивалент кода настроек конечных точек в конфигурации?Настройка заголовков конечных точек wcf в коде
<client>
<endpoint address="http://localhost/..." >
<headers>
<something>blah</something>
</headers>
</endpoint>
Это работает:
var header = MessageHeader.CreateHeader("something", "", "blah");
using (new OperationContextScope(channel))
{
OperationContext.Current.OutgoingMessageHeaders.Add(header);
//your normal call here
}
Альтернатива, которая не требует создания нового 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);
Есть ли способ, чтобы назначить их заранее клиенту или ChannelFactory без того, чтобы быть в текущем контексте работы? – kappasims 2012-10-31 19:07:19