Как сохранить блоки ASP.NET в AppDomain живыми?

Я думаю, что в webform мы даем полный идентификатор textbox с заполнителем содержимого. Вы можете попробовать это.

$("#head_txDateRet").click(function () {
   if (this.readOnly) {
      alert("The textbox is clicked.");
    }
});
50
задан Rex M 7 May 2009 в 18:30
поделиться

2 ответа

В IIS 6 перейдите в раздел «Пулы приложений» и щелкните правой кнопкой мыши> «Свойства» в пуле, в котором размещается рассматриваемое приложение ASP.NET. Перейдите на вкладку «Производительность» и снимите флажок «Завершение рабочих процессов после простоя для:»

В IIS 7 перейдите на панель «Подключения», найдите Пулы приложений и выберите «Дополнительные параметры» для пула, в котором размещается ваш применение. Найдите свойство «Тайм-аут простоя» и установите для него значение «0» (это отключает его).

По умолчанию - 20 минут бездействия. Если снять этот флажок, как только ваш AppDomain будет загружен рабочим процессом , он никогда не умрет (если вы, конечно, не завершите процесс или что-то в этом роде). По умолчанию IIS перезапускает процесс , когда он достигает некоторого предела, например, ограничение памяти, но он также запустит новый и «перебросит» все входящие запросы до тех пор, пока старый не перестанет использоваться, чтобы свести к минимуму прерывание.

Я также написал небольшой класс C #, который будет поддерживает работоспособность приложения ASP.NET ( альтернативная архивная версия ) при нормальных обстоятельствах. Поскольку он работает внутри приложения, очевидно, что он не может помешать IIS или чему-либо еще явному уничтожению процесса, но он будет поддерживать приложение в «горячем состоянии», например, приложение никогда не будет бездействовать достаточно долго, чтобы IIS решил отключить его. .

Если у вас нет прямого контроля над конфигурацией IIS (например, с общим хостом), лучше всего запустить небольшое приложение в отдельной системе - скажем, постоянно включенная рабочая станция, которая посещает ваш сайт каждые x минут, чтобы пул приложений не истек. Ничего особенного - подойдет простой WebRequest и цикл while () в консольном приложении.

72
ответ дан 7 November 2019 в 11:02
поделиться

Я написал небольшое консольное приложение на C#, которое поддерживает жизнь моих 4 сайтов каждые 10 минут через планировщик задач windows. Жизнь снова стала хорошей. Мы не запускаем приложение с 2 до 5 утра, просто чтобы серв мог сделать любую очистку памяти, если это вообще имеет значение. для наших сайтов редко кто работает в эти часы в любом случае.

0
ответ дан 7 November 2019 в 11:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: