Настройка таймаута Web-формы Terrasoft Service Desk на IIS 7.0

Здравствуйте,дорогие читатели моего блога.

Сегодня я хочу рассмотреть некоторые особенности настройки Web-формы Terrasoft Service Desk .

В основном все сводится к правильной настройки IIS. В документации «Руководства администратора» довольно подробно описано как сделать настройку IIS для разных версий: 6.0 (Windows Server 2003) и 7.0(Windows Vista, Windows Server 2008). Существуют, конечно, еще такие версии как 5.1 (Windows XP) и 7.5 (Windows 7, Windows Server 2008 R2), но основные отличия начинаются при переходе с 6-той на 7-мую версию.

Итак, на повестке дня следующий вопрос: «Как увеличить таймаут работы Web-формы?» Часто от пользователей появлялись пожелания увеличить на Web-форму таймаут в N часов. В настройках IIS по умолчанию сессия Web-формы существует только 20 минут, потом, при любых действиях, пользователя "выбрасывает" на страницу с логином, где приходится заново логиниться. Т.е. работая в Web-форме пользователю неудобно постоянно вводить свой логин и пароль, стоит ему отвлечься на 20 минут.

Хочу отметить, что Microsoft советует уменьшать таймаут:

«Если для приложения разрешено состояние сеанса, пользователь получает уникальный идентификатор сеанса при первом запросе веб-страницы у приложения ASP. По умолчанию срок действия сеанса заканчивается, если пользователь не запрашивает или не обновляет страницу в приложении ASP в течение 20 минут. Так как объекты сеанса занимают память веб-сервера, можно рассмотреть возможность уменьшения значения тайм-аута для сбережения ресурсов.»

Но для меня главным является удобство пользователя. Поэтому таймаут я буду увеличивать. Кстати, там написано как изменять этот параметр, но написано довольно скудно. Я постараюсь более подробно и полно описать процесс настройки.

  • У меня уже есть готовая настроенная Web-форма на IIS 7.0. Вот как выглядит настроенный сайт в диспетчере сервера
  • А это окно логина в запущенной Web-форме
  • И, собственно, сама Web-форма в действии. Для примера, список инцидентов
  • Теперь покажу где установлен таймаут. Становлюсь на службу IIS в диспетчере служб, выбираю внизу «Просмотр возможностей» (по умолчанию эта вкладка уже активна)
  • Выбираю ASP в списке возможностей
  • Далее в действиях нажимаю на ссылку «Открытие функции» или двойное нажатие на ASP
  • В группе службы разворачиваю «Свойства сеанса»
  • Время сеанса установлено в 20 минут. Ставлю, например, 10 часов: 10:00:00. В правой части окна в разделе «Действия» нажимаю на ссылку «Применить» для сохранения изменений

  • Приметка: По информации с сайта Microsoft эту же операцию можно сделать в командной строке с помощью команды appcmd. Сначала у меня не получилось. Но потом, немного поискав, нашел нужную комбинацию параметров. Для моего случая это будет выглядеть так: %windir%\system32\inetsrv\appcmd set config /section:asp /session.timeout:10:00:00. Отмечу, что для 64-битной системы нужно вместо system32 писать syswow64.

  • После этого нужно настроить состояние сеанса. Становлюсь на мою Web-форму и выбираю «Состояние сеанса» в списке возможностей
  • Перехожу внутрь двойным щелчком мыши и нахожу ниже «Параметры файла cookie» -> «Тайм-аут (в минутах)»
  • Изменяю значение на 600, что значит 10 часов и в правой части окна в разделе «Действия» нажимаю на ссылку «Применить» для сохранения изменений
  • И последнее, нужно настроить таймаут простоя пула приложений. Для начала узнаю на какой пул приложений настроена моя Web-форма. Становлюсь на Web-форму
  • В разделе «Действия» нажимаю «Основные настройки...» – вижу, что для моей Web-формы установлен стандартный (устанавливаемый по умолчанию) пул приложений «DefaultAppPool». Закрываю это окно без изменений.
  • В диспечеру служб выбираю «Пулы приложения» и нахожу нужный мне пул
  • Выбираю «Дополнительные параметры» в разделе «Действия» и нахожу «Тайм-аут простоя (в минутах)»
  • Устанавливаю значение в 600, что соответсвует 10 часам, и нажимаю кнопку OK
  • Для того, чтобы все изменения вошли в силу – перезагрузагружаю IIS. Становлюсь на IIS в диспетчере служб и в разделе «Действия» выбираете «Перезагрузить». Хотя, как показывает практика, если при каждом изменении нажимать в действиях на «Применить» – то изменения уже вступили в действие и для всех пользователей, которые войдут на сайт Web-формы, будут действовать уже новые параметры.

Если есть какие-то вопросы – задавайте, с удовольствием отвечу.
Продолжение для IIS 6.0 читайте тут.

Нравится

Поделиться

4 комментария

У меня система BPMonline Realty 5.
Сделала описанные выше настройки на своем сервере.
Помимо вышеуказанного, сделала изменения в настройках в файле web.config
Тем не менее, по прохождению времени пользователя из системы не выкидывает.:confused:

Здравствуйте, Антонина!

Для приложения BPMonline 5 существуют три таймаута: авторизационный и сессионный (настраивается в web.config), а также, таймаут пула приложения.

Изменения необходимо внести в файл Web.config –

system.web/ authentication/forms - параметр timeout="359" авторизационный
system.web/sessionState - параметр timeout="360" сессионный

Время указано в минутах.

Прошу обратить внимание на то, что авторизационный параметр должен быть меньше чем сессионный, а сессионный должен быть такой же, как и параметр таймаута пула на стороне IIS.

Таймаут пула в IIS:

"Резвов Роман" написал:

Здравствуйте, Антонина!

Для приложения BPMonline 5 существуют три таймаута: авторизационный и сессионный (настраивается в web.config), а также, таймаут пула приложения.

Изменения необходимо внести в файл Web.config –

system.web/ authentication/forms - параметр timeout="359" авторизационный

system.web/sessionState - параметр timeout="360" сессионный

Время указано в минутах.

Прошу обратить внимание на то, что авторизационный параметр должен быть меньше чем сессионный, а сессионный должен быть такой же, как и параметр таймаута пула на стороне IIS.

Таймаут пула в IIS:

С уважением,

Роман Резвов

Специалист службы поддержки II линии

Группа компаний Terrasoft


Роман, так и делала. Для теста указала:
авторизационный - 3мин
сессионный - 5мин
В пуле - 5мин.
Инструкцию как делала, прикрепила.

Антонина, существует два Web.config: в корне бинарных файлов и в папке Terrasoft.WebApp. Необходимо вносить изменения именно в корневой Web.config.

Несмотря на "Хочу обратить Ваше внимание, что данный параметр будет применен для всех сайтов запущенных на IIS сервере." попробуйте, пожалуйста, установить таймаут одному конкретному пулу.

Показать все комментарии