Abrufen der Meldungs ??automatisch von WCF gesetzt, wenn WSHttpBinding mit
-
29-09-2019 - |
Frage
ich WCF verwenden, um einen Web-Service zu konsumieren, die die WS Form achten (ich dann verwenden WSHttpBinding Bindung). Diese Form beinhaltet eine MessageID
in der Kopfzeile der Seife Anfrage und die gleichen ID vorhanden ist in dem reponse Header im RelatesTo
Feld gesetzt werden. Ich möchte die Bitte, die ich mit diesem Meldungs ??gemacht entlang loggt sein, kann aber nicht einen Weg finden, den messageId Satz von WCF abrufen entweder kann ich es manuell einstellen. Ich schaffte es aus der Antwort zu erhalten, indem das richtige Attribut auf dem Feld Einstellung, aber es tut mir so auf Wunsch lassen gesetzt, sondern scheint WCF außer Kraft gesetzt und lass mich nicht den neuen Wert Ereignis zugreifen, nachdem der Anruf getätigt wurde.
Jede Idee?
Lösung
Ich habe nicht einen Weg finden, die automatisch eingestellte Nachrichten-ID entweder abrufen, aber Sie können es manuell einfach eingestellt:
using (new System.ServiceModel.OperationContextScope((System.ServiceModel.IContextChannel)base.Channel))
{
m_lastMessageId = new System.Xml.UniqueId();
System.ServiceModel.OperationContext.Current.OutgoingMessageHeaders.MessageId = m_lastMessageId;
// call here the request
}
Ich hoffe, das hilft