从MassTransit中获取PipeContext的消息类型

时间:2016-07-03 10:58:18

标签: rabbitmq masstransit

我在接收端点实现了一个MassTransit中间件来记录处理消息的性能,我想从PipeContext中获取消息类型,我怎么能得到它?

public async Task Send(T context, IPipe<T> next)
    {
        // I want to know the message type from here so that i can log it
        using (_logger.BeginTimedOperation("Time for handling message", null, LogEventLevel.Debug))
        {
            await next.Send(context);

        }
    }

1 个答案:

答案 0 :(得分:1)

您需要拦截 sm.onblur = function() { var rickL = rickArray.length; var shaneL = shaneArray.length; var bobL = bobArray.length; var carolL = carolArray.length; var lL = lArray.length; // unfinished if else statement !! if(rickL > shaneL && rickL > bobL && rickL > carolL && rickL > lL) { alert("you are Rick Grimes"); } else{ alert("you are someone else"); } }; } ,它具有序列化信封中消息类型的属性。

然后,您可以使用以下方式获取支持的消息类型:

ConsumeContext

这应该可以为您提供记录持续时间的消息类型所需的内容。

这是一个过滤器:

IEnumerable<string> SupportedMessageTypes {get;}

实现send方法,在方法中调用next,然后在下一个管道完成后执行操作。