1

这是我的场景:

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

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

如何续订订阅并调用 AuthorizeSubscribe()?那可能吗?你对这个场景有什么建议?

4

1 回答 1

3

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

也就是说,尝试从 Web 应用程序发布事件是一件非常棘手的事情,通常建议您避免这样做

于 2011-01-03T19:11:00.117 回答