сеансы в asp.net/c# - PullRequest
       4

сеансы в asp.net/c#

0 голосов
/ 26 марта 2011

У меня странная проблема с моим веб-приложением. Я хочу знать, когда я сохраняю значение в переменной сеанса, например

Session["UserName"] = UserNameTextBox.Text

Будет ли уникальный идентификатор, связанный с этим конкретным назначением переменной сеанса?

Спасибо в ожидании

Ответы [ 2 ]

2 голосов
/ 26 марта 2011

Ему будет присвоен уникальный идентификатор для этого пользователя .Когда пользователь впервые посещает ваш сайт, ему будет назначен уникальный «Идентификатор сеанса», обычно это файл cookie, сохраняемый в его веб-браузере, но если вы настроите его, вы также можете установить идентификатор сеанса в URL, если у него естьcookie отключены.

Этот уникальный идентификатор сеанса относится к «сеансу» пользователя на стороне сервера.Когда вы используете код, который вы опубликовали, данные добавляются (или обновляются, если он уже существует) в сеанс для этого пользователя и сохраняются, пока сеанс еще активен, чтобы вы могли получить его позже.Вы можете прочитать эту переменную и записать ее столько, сколько захотите, и она всегда будет специфичной для этого пользователя.

Стоит отметить, что переменные сеанса expire .Обычно IIS / Web.config устанавливает это ограничение в 20 минут.Если пользователь ничего не делает на вашем сайте в течение 20 минут (или указанного вами времени), то для сохранения ресурсов сервера сеанс этого пользователя стирается.Если вам нужно поддерживать активную сессию до тех пор, пока у пользователя открыта страница (скажем, если пользователь заполняет форму, и это может занять более 20 минут), вам нужно посмотреть что-то вроде AJAXзапросы keep-alive , представляющие собой простые вызовы AJAX, которые просто сообщают серверу о необходимости поддерживать сеанс, а не удалять его через 20 минут.

2 голосов
/ 26 марта 2011

Все, что вы храните в сеансе, будет доступно только текущему пользователю. Каждый пользователь вашего сайта получает свой идентификатор сеанса, и этот идентификатор отправляется вместе с файлом cookie, чтобы сервер мог идентифицировать пользователя. Как отметил @Brad Christie в разделе комментариев, если куки отключены, вы можете настроить сеанс на использование скрытых полей или отправить идентификатор как часть URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...