Настройка сервера состояний
Сервер состояний позволяет настраивать один из серверов вашей веб-формы как специализированный сервер состояний сессий. Он отслеживает состояние и данные сессий для всех других серверов. Это очень важно, так как в противном случае вы не будете знать, какой сервер обрабатывает каждый запрос пользователей. Таким образом, вне зависимости от того, какой сервер обрабатывает запрос, информация о сессии сохранятся на специальном сервере, а затем берется с него. Сервер состояний по-прежнему обрабатывает веб-запросы, пока не окажется перегружен информацией о сессиях. Первым шагом в настройке приложения на использование сервера состояний является установка свойства mode в значение StateServer. Затем нужно настроить два дополнительных свойства в разделе <StateServer>. Ниже приведен их синтаксис.
<sessionState mode="StateServer" stateConnectionString= "connection string" stateNetworkTimeout="amount of time" />
В таблице 4.21 приведен перечень значений этих свойств.
stateConnectionString | Определяет строку соединения с сервером состояний в следующем формате: "tcpip=192.168.31.0:42424" |
stateNetworkTimeout | Определяет время простоя (в секундах) соединения по протоколу TCP/IP перед удалением сессии. Значение по умолчанию – 10 с. |
Ниже показан пример раздела <sessionState>, настроенного на работу с сервером состояний.
<sessionState mode="StateServer" stateConnectionString= "tcpip=192.168.31.0:42424" stateNetworkTimeout="15" />
Единственным дополнительным шагом является настройка сервера, который будет играть роль сервера состояний. Запустите службу сервера состояний – через оснастку Services MMC или при помощи следующего файла.
<drive>:\%windir%\Microsoft.NET\Framework\version\aspnet_state.exe
После этого на удаленном сервере начнет работать сервер состояний, и его можно будет использовать с других серверов.