Как обрабатывать изменения web.config для приложения OWIN - PullRequest
0 голосов
/ 13 июля 2020

У нас есть приложение OWIN, работающее на IIS, и в настоящее время мы используем AppProperties (IAppBuilder.Properties) .OnAppDisposing токен отмены для определения, когда приложение завершается, для корректного завершения некоторых из долго выполняемых задач, которые мы запускаем при запуске приложения .

Проблема в том, что при изменении web.config (даже если просто выполняется "touch web.config") токен отмены OnAppDisposing отменяется, и наши длительные задачи закрываются. Но в этих случаях пул приложений фактически не перерабатывается, и поэтому наши длительные задачи не перезапускаются до тех пор, пока пул приложений не будет рециркулирован.

Как в этих случаях следует обрабатывать изменения web.config? Чтобы мы по-прежнему могли корректно обнаруживать OnAppDisposing и завершение работы, не беспокоясь о том, что долго выполняющиеся задачи завершают работу и не запускаются снова? поступает первый HTTP-запрос. Но если были Hangfire или другие фоновые задачи, которые, как вы ожидали, будут выполняться, они не будут запущены снова, пока не поступит этот веб-запрос. Даже если у вас есть настройка инициализации приложения, URL-адрес приложения не будет запущен после перезапуск домена приложения.

...