NServiceBus - Saga审计 - 没有处理程序发现异常

时间:2016-04-16 18:37:15

标签: nservicebus msmq messaging nservicebus5

我们在.Net 4.6.1 windows服务中使用NServiceBus 5.2.14。 我们通过AuditConfig

为我们的服务添加了NServiceBus审计
<AuditConfig QueueName="AuditService"  />

当我们打开包含我们的Sagas的Windows服务的审核时,我们注意到一些新的订阅添加到我们的订阅Sql表中。像这样:

SubscriberEndpoint                             MessageType
ServiceThatIsPublishingEventTypeA@MyMachine    MyAssembly.MessageTypeA,1.0.147.0
AuditService@MyMachine                         MyAssembly.MessageTypeA,1.0.147.0

似乎在对Saga服务启用审计之后,发布事件(saga正在订阅)的服务现在可以自行获得递归订阅。

处理邮件时,副本已成功推送到审核队列。

但是,我遇到的问题是我还获得了推送到 ServiceThatIsPublishingEventTypeA.Error 队列的消息副本以及我日志中引发的异常。

例外是:

System.InvalidOperationException: No handlers could be found for message  type: MyAssembly.MessageTypeA
 at NServiceBus.LoadHandlersBehavior.Invoke(IncomingContext context, Action next) in  C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Unicast\Behaviors\LoadHandlersBehavior.cs:line 29
at NServiceBus.BehaviorChain`1.InvokeNext(T context) in C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Pipeline\BehaviorChain.cs:line 107
at   NServiceBus.BehaviorChain`1.&lt;&gt;c__DisplayClass4_0.&lt;InvokeNext&gt;b__0() in  C:\BuildAgent\work\3206e2123f54fce4\src\NServiceBus.Core\Pipeline\BehaviorChain.cs:line 94

这是有道理的,因为 ServiceThatIsPublishingEventTypeA 服务中没有 MyAssembly.MessageTypeA 事件的处理程序(它只发布这些事件),但审计已添加此订阅。< / p>

所以我的问题是:递归订阅是否正确?什么是通过传奇审计流量的正确方法(并避免引发错误)?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我猜测端点是自动订阅它在程序集扫描中找到的事件,你可以试试disable auto subscribe吗?

==编辑

looking at the code on github我创建了一个有效版本的拉取请求之后,主要问题是审计组件正在处理通过审计渠道收到的订阅消息......

我还清理了一些小冗余代码

相关问题