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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top