Назад | Перейти на главную страницу

Поддерживайте работу WCF, без повторного использования IIS

У меня есть приложение WCF. Я бы хотел, чтобы это приложение работало постоянно.

Если существует определенный период бездействия, перерабатывается ли пул приложений IIS?

Как мне поддерживать его все время?

Стоит ли использовать таймер?

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

По умолчанию в IIS пул приложений перезапускается через 20 минут бездействия (настройка времени ожидания простоя).

Вы можете увеличить это значение (я считаю, что установка его на 0 эквивалентна установке никогда не тайм-аут).

Однако я думаю, вам лучше взглянуть на общую ситуацию, чем просто регулировать тайм-аут простоя в IIS.

Как часто используется услуга? Несколько раз в час, несколько раз в минуту, много раз в секунду?
Сколько клиентов подключаются одновременно?
Сколько времени нужно, чтобы заполнить данные? Достаточно ли продолжительности начальной загрузки, чтобы оправдать увеличение тайм-аута простоя? И т.п.

Другой вариант, который следует рассмотреть, если вы хотите, чтобы служба работала постоянно, - это разместить ее как службу Windows. Я сделал это с помощью одного из своих сервисов, где мне нужно было обслуживать пул объектов.

Просто некоторые вещи, которые нужно учитывать.

Вы всегда можете создать самостоятельный хостинг службы WCF и вообще избегайте IIS