У меня есть сайт asp.net, работающий на IIS7, и у меня возникла проблема с некоторыми пользователями из университета, внезапно потерявшими свою сессию. Единственное, что имеет место во всех этих случаях, заключается в том, что адрес URL-адреса клиента/хоста пользователя, который они получают на нашем веб-сайте, изменяется на полпути через их сеанс. Чтобы было ясно, это то, что я записываю их доступа к странице:Сайт Asp.net теряет сессию по изменению URL-адреса клиента
Request.UserHostAddress.ToString()
состояние сеанса отслеживается с помощью стандартного asp.net печенье. Соответствующая строка в файле web.config:
<sessionState mode="InProc" timeout="40"/>
Сайт не использует фреймы, и управляется с одного сервера (т.е. не веб-фермы) с использованием одного рабочего процесса (т.е. нет веб-садоводства). Это происходит только периодически для одного пользователя, в то время как сеансы других пользователей остаются открытыми одновременно.
Я добавил файлы cookie в список вещей, которые должны быть зарегистрированы для сайта согласно this article on troubleshooting Session loss. Несколько вопросов:
- Возможно ли, что университет отказывается от сеансовых файлов cookie, и наш сервер даже не получает их? И если это так, позволит регистрировать файлы cookie для этого?
- Возможно ли, что IIS удаляет файлы cookie, если они не соответствуют предыдущему URL-адресу, связанному с ним?
Это не * наш * домен, который меняется ... это * ихние *, то есть клиент. Они обращаются к нашей системе через хост, чей адрес изменяется. – monty
Я отредактировал мой вопрос, чтобы прояснить это. – monty
@monty, если адрес изменен, сеанс потерян! – Aristos