Recupero della MessageId impostato automaticamente dal WCF quando si utilizza WSHttpBinding
-
29-09-2019 - |
Domanda
Io uso WCF di utilizzare un servizio web che rispetta la forma WS (Ho quindi utilizzare vincolante WSHttpBinding). Questa forma comporta un MessageID
essere impostato nell'intestazione della richiesta sapone e lo stesso ID essere presenti nell'intestazione reponse nel campo RelatesTo
. Mi piacerebbe per registrare la richiesta che ho fatto insieme a questo MessageId ma non riesco a trovare un modo per recuperare il set messageId da WCF sia possibile impostare manualmente. Sono riuscito a ottenere dalla risposta impostando l'attributo proprio sul campo, ma così facendo in merito alla richiesta mi permetta di impostare, ma è sembra WCF prevale su di esso e non mi lascia accedere al nuovo evento valore dopo la chiamata è stata fatta.
Qualche idea?
Soluzione
Non ho trovato un modo per recuperare l'ID del messaggio impostato automaticamente sia, ma è possibile impostare manualmente facilmente:
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
}
La speranza che aiuta ??p>