Пулы IIS дублируются после перезапуска appdomain - PullRequest
0 голосов
/ 26 ноября 2018

У нас есть приложение, которое читает сообщения из IBM MQ Topic и взаимодействует с пользователями через SignalR WebSockets.

Case:

  1. Откройте веб-приложение iis asp.net.config

  2. Изменить и сохранить его (это вызывает перезапуск домена приложения)

  3. Повторить шаг 2 10 раз

После этого мы можем видеть множество Application_Start / Удалять событий в журналах, но при ONE итераций перезапуска appdomain не было Dispose call,Потому что из нашего обработчика запросов IBM MQ получено сообщение от старого AppDomain, поэтому у нас возникают дубликаты обработки и бизнес-ошибки.

Кажется, что-то ограничивает AppDomain от выгрузки.

Я знаю, что очень трудно сказать, чточто-то происходит, но, может быть, кто-нибудь знает, как мы можем отследить эту проблему.

Отключить перекрывающий цикл is true

Ограничение времени отключения is 3s

1 Ответ

0 голосов
/ 26 ноября 2018

что я делаю в аналогичной ситуации - на global.asax используйте этот вызов

void Application_End(object sender, EventArgs e)
{
     // here signaling the listener to close - and wait until they do
     // also raise the shutdown time limit to more than 3 seconds, give them time to close
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...