我终于开始将我的解决方案部署到我们的开发环境中,并且遇到了我的端点没有收到已发布事件的问题。这确实可以在我的本地计算机上运行,但不能在远程服务器之间进行消息聊天时使用。
修改 我也在运行Windows服务,因为网络服务和rebus日志记录工作正常。
以下是我的配置设置:
发布商
Configure.With(new SimpleInjectorContainerAdapter(container))
.Transport(t => t.UseMsmq("Identity.Web"))
.Subscriptions(s => s.StoreInSqlServer("Integration", "Subscription", true, true))
.Options(b => b.EnableMessageAuditing("Identity.Web.Audit"))
.Options(b => b.SimpleRetryStrategy(errorQueueAddress: "Identity.Web.Error"))
.Start();
终端接收器
var bus = Configure.With(new CastleWindsorContainerAdapter(container))
.Transport(t => t.UseMsmq("Comply360.User.Management"))
.Subscriptions(s => s.StoreInSqlServer("Integration", "Subscription", isCentralized: true))
.Options(b => b.EnableMessageAuditing("Comply360.User.Management.Audit"))
.Options(b => b.SimpleRetryStrategy(errorQueueAddress: "Comply360.User.Management.Error"))
.Logging(l => l.Serilog(Log.Logger))
.Start();
bus.Subscribe<UserCreated>();
bus.Subscribe<UserUpdated>();
以下是发布代码:
await this.bus.Publish(new Events.UserUpdated
{
UserId = notification.Id,
Firstname = notification.Firstname,
Lastname = notification.Lastname,
});
我订阅商店中的两条记录:
Identity.Events.UserCreated, Identity.Messages Comply360.User.Management@MACHINE
Identity.Events.UserUpdated, Identity.Messages Comply360.User.Management@MACHINE
任何帮助都会非常赞赏!
答案 0 :(得分:1)