У меня есть веб-сайт на Windows Server 2008 и iis 7 на VPS. Он работает нормально и без проблем, но после переноса его на общий хостинг-сервер с IIS 7.5 сеанс теряется после 4 или 5 щелчков (например, 30 секунд), и мне приходится входить в систему снова и снова.
Эти два сайта одинаковы, я скопировал сайт с VPS точно так же, как и на общий хостинг-сервер.
Таймауты сеанса в обоих web.config
файлы такие же.
На сервере общего хостинга у меня нет доступа к диспетчеру IIS для управления настройками. Все, что у меня есть, - это Plesk Control Panel 9.5 и web.config
файл.
Что могло вызвать это?
Общие хосты иногда имеют необычно частую перезапись пула приложений. Это может привести к тому, что ваши сеансы будут уничтожены, если вы используете состояние сеанса в процессе. Вы можете обойти это, вынув состояние сеанса из процесса. Поскольку это общий хост, я предполагаю, что ваш единственный вариант - сохранить состояние сеанса в базе данных.
Посетите страницу MSDN на Режимы состояния сеанса для получения подробной информации о том, как это сделать.
Вы используете Form Auth? Если да, попробуйте это в своем файле Web.config:
<system.web>
<authentication mode="Forms">
<forms timeout="50"/>
</authentication>
<sessionState timeout="60" />
</system.web>
Удачи!