Как продлить подписку после IISRESET?

Это мой сценарий:

  • Веб-приложение с собственной шиной (издатель)
  • Служба Windows с NServiceBus.Host.exe (подписчик)

Представьте, что это запускает IISRESET (неважно, почему я должен это делать), который заставляет шину повторно инициализироваться и терять подписки, которые уже были. Я использую MsmqSubscriptionStorage, а издатель (веб-приложение) реализует интерфейс IAuthorizeSubscriptions.

Как я могу продлить подписку, а также вызвать AuthorizeSubscribe()? Это возможно? Что вы предлагаете для этого сценария?


person rguerreiro    schedule 03.01.2011    source источник


Ответы (1)


Если NServiceBus правильно использует MsmqSubscriptionStorage, то после iisreset шина должна инициализировать и загрузить существующие подписки из настроенной очереди хранилища. Это имя очереди может быть задано конфигурацией или, если оно опущено, должно по умолчанию быть именем, основанным на сборке плюс «_storage». Однако, никогда не используя это из веб-приложения, я не знаю, что это будет в этом сценарии, поскольку нет класса, реализующего IConfigureThisEndpoint.

Тем не менее, попытка опубликовать событие из веб-приложения — очень неприятный бизнес, и это обычно советует избегать именно этого.

person David Boike    schedule 03.01.2011
comment
Давид, спасибо за ответ и большое спасибо за ссылку, которую вы предоставили. Не знал этого! - person rguerreiro; 04.01.2011