1

我使用 WCF 来使用尊重 WS 表单的 Web 服务(然后我使用 WSHttpBinding 绑定)。这种形式涉及MessageID在soap请求的标头中设置一个,并且该RelatesTo字段的响应标头中存在相同的id。我想记录我与此 MessageId 一起发出的请求,但找不到检索 WCF 设置的 messageId 的方法,我可以手动设置它。我设法通过在字段上设置正确的属性来从响应中获取它,但是在请求上这样做让我设置它,但似乎 WCF 覆盖它并且在调用后不让我访问新值事件。

任何的想法 ?

4

1 回答 1

5

我也没有找到检索自动设置的消息 ID 的方法,但是您可以轻松地手动设置它:

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
    }

希望有帮助

于 2010-11-22T09:05:22.643 回答