Фонд свободного программного обеспечения (Установленный 1985)
, Даже если Вы не искренний сторонник их философии, идеи, что они продвигали бесплатного программного обеспечения, открытый исходный код имел удивительное влияние на промышленность программного обеспечения и содержание в целом (например, Википедия).
Вы можете сделать это несколькими способами.
Если вы выбрали второй вариант, я настоятельно рекомендую внешний источник, так как он менее управляем, и если вы этого не сделаете Если IIS доступен для настройки, у вас, скорее всего, нет сервера, на который можно добавить приложение ping.
Кроме того, я не рекомендую что-то, что находится в процессе работы с веб-приложением, поскольку я обнаружил, что это может вызвать проблемы, когда приложение действительно нуждается в переработке ...
Последняя мысль
Если вы все-таки идете по пути изменения тайм-аута простоя IIS, я рекомендую установить регулярную перезагрузку пула приложений. Поскольку многие веб-приложения действительно получают выгоду от периодической перезагрузки, и чаще всего тайм-аут простоя является самым большим регулярным фактором перезапуска.
В IIS 6 перейдите в раздел «Пулы приложений» и щелкните правой кнопкой мыши> «Свойства» в пуле, в котором размещается рассматриваемое приложение ASP.NET. Перейдите на вкладку «Производительность» и снимите флажок «Завершение рабочих процессов после простоя для:»
В IIS 7 перейдите на панель «Подключения», найдите «Пулы приложений» и выберите «Дополнительные параметры» для пула, в котором размещено ваше приложение. Найдите свойство «Тайм-аут простоя» и установите для него значение «0» (это отключает его).
По умолчанию - 20 минут бездействия. Если снять этот флажок, как только ваш домен приложения будет загружен рабочим процессом, он никогда не умрет (если вы, конечно, не убьете процесс или что-то в этом роде). По умолчанию IIS перезапускает процесс, когда он достигает некоторого предела, такого как ограничение памяти, но также запускает новый и «переходит в фазу». все входящие запросы, пока старый не будет неиспользован, чтобы свести к минимуму перебои.
Если у вас нет прямого контроля над конфигурацией IIS (например, с общим хостом), лучше всего запустить небольшое приложение на отдельном система - скажем, постоянно включенная рабочая станция - которая обращается к вашему сайту каждые x минут, чтобы не допустить тайм-аут пула приложений. Ничего особенного - подойдет простой WebRequest и цикл while () в консольном приложении.
Перейдите в диспетчер задач и убейте w3wp.exe (или aspnet_wp). Ничто не может вам помешать. В итоге, приложения ASP.NET не могут предполагать непрерывную функциональность.
Однако вы можете запускать отдельный поток, для которого не будут действовать тайм-ауты простоя - до тех пор, пока ему есть чем заняться. Я использовал эту технику для управления 45-минутным импортом, который продолжался бы независимо от того, был ли кто-нибудь на веб-сайте. Я использовал журнал транзакций и Application_Start, чтобы при повторном запуске процесса он возобновлялся с того места, где остановился.