如何在IISRESET之后续订订阅?

时间:2011-01-03 10:01:03

标签: nservicebus publish-subscribe

这是我的情景:

  • 使用自托管总线的Web应用程序(发布者)
  • 使用NServiceBus.Host.exe(订阅者)的Windows服务

想象一下,触发一个IISRESET(从不介意为什么我必须这样做)会使总线重新初始化并丢失已有的订阅。我正在使用MsmqSubscriptionStorage,发布者(网络应用程序)实现了IAuthorizeSubscriptions界面。

如何续订订阅并调用AuthorizeSubscribe()?那可能吗?你对这种情况的建议是什么?

1 个答案:

答案 0 :(得分:3)

如果NServiceBus正确使用MsmqSubscriptionStorage,那么在iisreset之后,总线应该初始化并从配置的存储队列加载现有订阅。此队列名称可以通过配置设置,或者,如果省略,则应默认为基于程序集加“_storage”的名称。但是,从未在Web应用程序中使用过这个,我不知道那个场景会是什么,因为没有类实现IConfigureThisEndpoint。

也就是说,尝试从Web应用程序发布事件是一件非常棘手的事情,它是generally advised that you avoid just that