2015-03-13 8 views
0

Все,передать дополнительные контекстные данные отдельно от сообщения в ФОС

У нас есть инспектор сообщений, который регистрирует входящие и исходящие мыльные сообщения в пользовательской БД, идя вперед, мы должны corelate запроса и ответ, основанный на guid/some id, который равен NOT, присутствующий в запросе, или ответное сообщение.

Есть ли способ, мы можем передать дополнительную информацию инспектору сообщений сказать несколько контекстных свойств помимо messqge

ответ

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); 
}