Каков наилучший способ объединения службы WCF с одним экземпляром, которая использует ActiveMQ и работает в IIS / AppFabric?
Наши службы должны поддерживать как транспорт HTTP, так и ActiveMQ (прослушивание и отправка сообщений). Мы решили не использовать MSMQ и будем использовать Spring.Net.NMS. Основная проблема, с которой я столкнулся сейчас, заключается в том, что ActiveMQ должен подключаться к очереди (ям) при запуске и оставаться подключенным, но WAS мешает его функции активации сообщений. Если служба не активирована до тех пор, пока не прибудет сообщение (HTTP / MSMQ и т. Д.), То не будет триггера для установления соединения с AMQ.
Я знаю, что могу отключить режим утилизации, и я знаю, что я могу сделать хостинг с помощью службы Windows. Но я хочу воспользоваться мониторингом и другими функциями AppFabric. Я уже шел по пути с IServiceBehavior и буду использовать это для других приятных вещей. Но этот интерфейс не вызывается, пока не поступит сообщение (не AMQ). Так что это не сработает. Я надеялся на то, что ServletContextListeners работает в Java, где вы получаете события как запуска, так и выключения. Но, похоже, в WAS такого не существует ... это обусловлено только поступающими сообщениями.
Я изучал каждый дюйм веб-информации в течение 3 дней, и единственное, с чем я столкнулся, было использование трюка со статическим построением классов (C #) в качестве триггера. Это хак, но я могу жить с этим. Это все еще оставляет проблему чистого выключения, которую я могу выяснить позже.
У кого-нибудь есть твердое решение для этого?