如何解决使用MsmqSubscriptionStorage时,NServiceBus 2.0会丢失第一条发布的消息
| 我在发布/订阅方案中使用MsmqSubscriptionStorage,并且尚未存储订阅时,第一条消息丢失。如果我在GenericHost中运行时看到调试消息,则看到所有订阅都已设置,但第一条消息从未发送给订阅者。如果发送了更多消息,则它们已成功发送给订户(如日志中所示) 我正在使用2.0.0.0版。 这是我正在使用的总线配置。var bus = Configure.With(
new List<Assembly>
{
typeof(Configure).Assembly,typeof(IBus).Assembly
})
.DefaultBuilder()
.Log4Net()
.XmlSerializer()
.MsmqTransport()
.IsTransactional(true)
.PurgeOnStartup(false)
.UnicastBus()
.ImpersonateSender(false)
.LoadMessageHandlers()
.MsmqSubscriptionStorage()
.CreateBus()
.Start();
解决方法
我正在回答自己的帖子,所以没有人看到此问题,并得出结论NServiceBus有问题。这是我的GCE-(重大概念错误)。我的托管环境推迟了对总线静态引用的解析。更改过程的初始化以在启动时设置静态总线参考即可解决该问题。
, 如果您在注册任何订阅之前进行发布,则这些消息将没有目的地,将被忽略。您可能需要查看数据库订阅存储,以减少瞬态。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。