Могу ли я настроить IIS, чтобы мое приложение ASP.NET оставалось живым вечно? - PullRequest
1 голос
/ 04 декабря 2010

Насколько я знаю, приложение ASP.NET завершается всякий раз, когда нет живого сеанса пользователя, время ожидания сеанса по умолчанию составляет 20 минут.По истечении этого времени он возобновит работу при появлении нового запроса.

Однако мое приложение выполняет очень медленную операцию загрузки кэша в Application_Start, и я не хочу, чтобы это происходило более одного раза.

Как настроить IIS для работы по-другому?

Я узнал, что пул приложений в IIS 7.5 имеет свойство, называемое автозапуск, а другое - время ожидания простоя.В документации сказано, что если я установлю для автоматического запуска значение true, а для тайм-аута - ноль, пул приложений запустится при запуске IIS и никогда не истечет.Но я не знаю, как это интегрировано в ASP.NET.Означает ли это, что Application_Start будет работать с запуском IIS и что это не произойдет до следующего перезапуска IIS?

Ответы [ 3 ]

2 голосов
/ 04 декабря 2010

Я использую Робот безотказной работы , чтобы гарантировать, что мое приложение всегда запускается. Красота этого Система запрашивает только заголовки страницы на вашем веб-сайте и каждые 5 минут получает коды состояния, такие как «200-ok», «404-not found» и т. д. Это означает, что робот работоспособности не добавляет шума в Google Analytics, так как страница никогда не запрашивается.

Кажется, работает как мечта для меня и его БЕСПЛАТНО!

1 голос
/ 04 декабря 2010

Для настроек, которые вы описываете для IIS 7.5:

Возможны и другие причины перезапуска пула приложений (например, он превышает ограничение использования памяти).

Но Application_Start будет запускаться каждый раз, когда происходит такой перезапуск. И, конечно, администратор всегда может перезапустить пул приложений.

Итак, если ваш вопрос касается именно отношения 1-1 между перезапусками IIS и перезапуском приложения, ответ - нет. Но при обычном использовании, без утечек памяти / ужасных сбоев, это должно быть примерно так.

0 голосов
/ 20 марта 2015

Для приложений ASP.NET 4.0+ на IIS7.5 + - вы можете настроить автозапуск и переместить код запуска из Application_Start в global.asax в метод Preload класса. Смотрите это: http://weblogs.asp.net/scottgu/auto-start-asp-net-applications-vs-2010-and-net-4-0-series

Вот пример использования графического интерфейса IIS8: http://www.codeproject.com/Articles/795265/IIS-Asp-net-warm-up-Auto-Start-Application

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...