У меня есть приложение WCF. Я бы хотел, чтобы это приложение работало постоянно.
Если существует определенный период бездействия, перерабатывается ли пул приложений IIS?
Как мне поддерживать его все время?
Стоит ли использовать таймер?
У меня есть конфиденциальные данные в приложении, и требуется время, чтобы их заполнить, поэтому я предпочитаю, чтобы они все время оставались актуальными.
По умолчанию в IIS пул приложений перезапускается через 20 минут бездействия (настройка времени ожидания простоя).
Вы можете увеличить это значение (я считаю, что установка его на 0 эквивалентна установке никогда не тайм-аут).
Однако я думаю, вам лучше взглянуть на общую ситуацию, чем просто регулировать тайм-аут простоя в IIS.
Как часто используется услуга? Несколько раз в час, несколько раз в минуту, много раз в секунду?
Сколько клиентов подключаются одновременно?
Сколько времени нужно, чтобы заполнить данные? Достаточно ли продолжительности начальной загрузки, чтобы оправдать увеличение тайм-аута простоя? И т.п.
Другой вариант, который следует рассмотреть, если вы хотите, чтобы служба работала постоянно, - это разместить ее как службу Windows. Я сделал это с помощью одного из своих сервисов, где мне нужно было обслуживать пул объектов.
Просто некоторые вещи, которые нужно учитывать.
Вы всегда можете создать самостоятельный хостинг службы WCF и вообще избегайте IIS