所有
我们有一个消息检查器,可以将传入和传出的soap消息记录到自定义数据库中,然后我们需要根据guid / some id来处理请求和响应,这些ID是 NOT 请求和响应消息。
有没有办法我们可以将其他信息传递给消息检查器,说除了messqge之外的几个上下文属性
答案 0 :(得分:0)
消息检查器具有correlationState,您可以使用它来关联接收/发送。如果在服务中,则从AfterRecieveRequest返回相关令牌,并在BeforeSendReply中使用它。在客户端上,它的AfterReceiveReply返回相关令牌。
public interface IDispatchMessageInspector
{
object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext);
void BeforeSendReply(ref Message reply, object correlationState);
}
public interface IClientMessageInspector
{
void AfterReceiveReply(ref Message reply, object correlationState);
object BeforeSendRequest(ref Message request, IClientChannel channel);
}