如何将数据从WCF数据协定对象获取到消息头中

时间:2012-04-04 13:43:47

标签: wcf soap datacontract servicebehavior

我服务中的所有数据合约对象都继承自BaseMessage ...

[DataContract(Name = "BaseMessage", Namespace = "http://www..."]
public class BaseMessage
{
    [DataMember]
    public Guid MessageId { get; set; }
}

我熟悉使用Message Inspectors来查看跨越线路的实际SOAP负载。但是,我想要做的是以某种方式挂钩到消息管道中以执行以下操作:

  1. 查看传入的消息并理想地读出MessageId字段而不搜索整个字符串消息对象以进行字符串匹配 - 除非有快速的方法来执行此操作。

  2. 从MessageId中提取消息,以便在包含MessageId的消息中创建标题。我再也不想在整个消息中搜索字符串匹配。

  3. 我熟悉使用IClientMessageInspector和IDispatchMessageInspector查看消息,但我认为在管道中的这一点上我无法访问实际对象来访问其字段。

    由于

1 个答案:

答案 0 :(得分:0)

如果您想确定邮件正文中的成员与其标题之间的内容,则需要邮件合同。