Was ist der Code entspricht der Einstellung Endpunkt-Header in der Konfiguration?Einstellung von WCF-Endpunkt-Headern in Code
<client>
<endpoint address="http://localhost/..." >
<headers>
<something>blah</something>
</headers>
</endpoint>
Was ist der Code entspricht der Einstellung Endpunkt-Header in der Konfiguration?Einstellung von WCF-Endpunkt-Headern in Code
<client>
<endpoint address="http://localhost/..." >
<headers>
<something>blah</something>
</headers>
</endpoint>
Dies funktioniert:
var header = MessageHeader.CreateHeader("something", "", "blah");
using (new OperationContextScope(channel))
{
OperationContext.Current.OutgoingMessageHeaders.Add(header);
//your normal call here
}
Eine Alternative, die benötigen keine neue Operation Erstellen und Einstellen der Kopfzeile jedes Mal, wenn der Client verwenden, um die Header angeben, wenn die EndpointAddress zu schaffen.
Beispiel (angepasst von 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);
Gibt es eine Möglichkeit, diese vorher zu dem Client oder Channel zuzuweisen, ohne in der aktuellen Operation Kontext sein zu müssen? – kappasims