2016-09-17 5 views
0

Я пишу приложение, в котором сообщения об изменениях данных через API публикуются по шине сообщений RabbitMQ. Сообщения расходуются концентратором SignalR и передаются подписчикам.Использование SignalR с RabbitMQ

Теперь я нахожу сообщения в моем Eventlog, которые начинаются с:

Исключение: System.Threading.ThreadAbortException: Тема была быть прервана.

Я нашел так вопросы и ответы, как: Why am i getting "Thread was being aborted" in asp.net? и What exactly is Appdomain recycling

Но возникает вопрос, если приложения, работающие в AppDomain в пуле приложений перерабатываются на бездеятельность, как может SignalR поддерживать подключение к подписанным клиентам? Почему это работает для SignalR для запуска в пуле приложений IIS, но не для пользователя RabbitMQ?

ответ

0

Клиентские библиотеки SignalR, предоставляемые SignalR, могут иметь поведение по умолчанию , восстанавливая соединение после потери соединения (JS, безусловно, делает).

Так что, имея переработку в бассейне, вы просто заставляете клиента повторно подключаться к вашему серверу, получая снова сообщения, как прежде, прерывания.

+0

При повторном подключении клиент отправляет членство группы на сервер в группахToken. – Pawel

+0

Обновлено соответствующим образом – bsoulier