#c# #asp.net #session-timeout
#c# #asp.net #тайм-аут сеанса
Вопрос:
У меня проблема с сеансами. На моем веб-сайте реализована консоль зарегистрированных пользователей, которая регистрирует нового пользователя при каждом входе в систему. Если я попытаюсь открыть 2 страницы в одном веб-проводнике, это завершится неудачей, потому что метод сначала запрашивает, подключен ли пользователь, чтобы не регистрировать его дважды.
Этот метод принимает в качестве параметра идентификатор сеанса, который предоставляется .net Мой вопрос: в том же браузере (или на том же компьютере, localhost) идентификатор сеанса всегда один и тот же или когда он генерируется?
Ответ №1:
По умолчанию новые вкладки или новые окна в браузере будут использовать один и тот же процесс и, следовательно, одни и те же временные сеансовые файлы cookie для домена.
Чтобы открыть новый сеанс в IE, выберите Файл > Новый сеанс.
Ответ №2:
Идентификатор сеанса будет одинаковым для того же браузера.
В другом браузере (или на другом компьютере) вы получите другой идентификатор сеанса.
Примерно так обстоит дело по всему Интернету, а не только с asp.net из-за способа работы файлов cookie.
Например, вы заметите, что не можете войти в Amazon или ebay, используя разные учетные записи в одном браузере.
Комментарии:
1. На самом деле в отношении Google это неверно: mail.google.com/support/bin/answer.py?hl=enamp;answer=69570
Ответ №3:
Идентификатор сеанса одинаков для каждого браузера. Вы можете проверить это, войдя в yahoo, на первой странице будет запрошено имя пользователя и пароль, если вы откроете вторую страницу, она напрямую приведет вас к вашей учетной записи электронной почты.
Ответ №4:
Зависит от используемого браузера и от того, как он используется, как уже указывалось, сеанс по умолчанию используется одним и тем же браузером в современных браузерах. Старые браузеры, такие как IE до 8, также по умолчанию использовали общий доступ к сеансу в Windows, если только пользователь не открывал новый экземпляр IE вне интерфейса браузера (т. Е. меню «Пуск» / ярлык).