我希望这对别人来说很容易,因为我指出我做了一些愚蠢的事情!
我最近尝试在此处的系统上设置MassTransit,但是我的订户无法处理消息时出现了一些问题。消息将得到很好的处理,直到订阅服务重新启动/重新部署,然后它们才失效。
订阅服务是Windows服务。我正在使用MSMQ以及与MassTransit(v2.8)捆绑在一起的RuntimeServices。
我希望我在设置永久订阅方面错过了一些东西,但是我一直在寻找更多信息,但运气不佳。
任何人都不知道我是否设置错误?
这里是初始化代码:
出版服务
public static void Activate()
{
Bus.Initialize(bus =>
{
bus.UseMsmq(msmq => msmq.UseSubscriptionService("msmq://localhost/subscriptions"));
bus.UseControlBus();
bus.ReceiveFrom("msmq://localhost/our_webservice");
});
}
public static void Shutdown()
{
Bus.Shutdown();
}
订阅服务
private void ConfigureMessageBus()
{
Bus.Initialize(bus =>
{
bus.UseMsmq(msmq => msmq.UseSubscriptionService("msmq://localhost/subscriptions"));
bus.ReceiveFrom("msmq://localhost/commissionupdate_service");
bus.Subscribe(s => s.Consumer<CommissionUpdatedHandler>().Permanent());
});
}
protected override void OnStop()
{
Bus.Shutdown();
}
请让我知道是否能提供更多有助于发现问题的信息。
谢谢!吉姆。
我不知道这是否有帮助,但是我们遇到了类似的问题。在我们的情况下,我们在发布服务中拥有Azure Service Bus和不必要的代码:
_busHandle = await _bus.StartAsync(cancellationToken).ConfigureAwait(false);
删除后,问题解决了。