Log4net Rebus-在处理消息之前执行操作

Log4net Rebus-在处理消息之前执行操作,log4net,rebus,Log4net,Rebus,在调用IHandleMessages.Handle之前,是否有执行操作的方法 特别是我想为log4net设置日志的相关id,我真的很难做到这一点 我有一个活动模式转换器从中获取Guid System.Diagnostics.Trace.CorrelationManager.ActivityId=Guid.NewGuid() 但我希望能够在激活每个句柄之前设置它。 我使用Autofac作为Rebus的容器,实现这一点的一个简单方便的方法是包括,它允许在处理每条消息之前设置要调用的事件委托,如下所示

在调用IHandleMessages.Handle之前,是否有执行操作的方法

特别是我想为log4net设置日志的相关id,我真的很难做到这一点

我有一个活动模式转换器从中获取Guid

System.Diagnostics.Trace.CorrelationManager.ActivityId=Guid.NewGuid()

但我希望能够在激活每个句柄之前设置它。
我使用Autofac作为Rebus的容器,实现这一点的一个简单方便的方法是包括,它允许在处理每条消息之前设置要调用的事件委托,如下所示:

Configure.With(...)
    .(...)
    .Events(e =>
    {
        e.BeforeMessageHandled += (bus, headers, message, context, args) =>
        {
            // do what you want in here :)
        };
    });

你不知道你让我的生活变得多么轻松:)我喜欢这种交通工具!测试和工程像一个charmWhen是Rebus。事件计划作为一个稳定的包发布?还在贝塔维尔。。。。当有足够多的人尝试过它并给我他们的结论时,我会发布它-预发布状态对你来说是一个障碍吗?一点也不,目前我只是将其用于上述功能,并且第一次测试看起来像上帝。在接下来的几周里,我将继续推动它:)这只是一个更新,应用程序已经部署了一个多月,使用Rebus.Events没有任何问题。真的很高兴你所做的一切