2012-01-13 3 views
2

У меня, наверное, очень простой вопрос о сеансах. В функции загрузки страницы у меня есть следующий код:Несвязность в отношении сеансов ASP.NET

Session["loggedInUserId"] = userId; 

Теперь вопрос: , если этот код находится на сервере, и два пользователя подключиться к этому серверу и войти один за другим, будет тот, который logs во втором регистрируются уже как первый пользователь?

Нужно ли мне многопоточность?

ответ

1

сеанс Asp.net предназначен для сеанса браузера. два браузера на одной машине или два пользователя на двух отдельных машинах будут ссылаться на разные сеансы, поэтому не беспокойтесь.

1

если ваши настраивает userId переменных как статическая, то это будет possibe других мудрым не будет никаких проблем

1

не требуется. Пройдите ASP.NET Session State (MSDN).

Согласно этому

ASP поддерживает состояние сеанса, предоставляя клиенту уникальный ключ, присвоенный пользователю при начале сеанса. Этот ключ хранится в файле cookie HTTP, который клиент отправляет на сервер по каждому запросу. Затем сервер может прочитать ключ из файла cookie и повторно раздуть состояние сеанса сервера.

Надеюсь, это то, что вы ищете.

0

Сессия предназначена для управления одним браузером. Уникальный идентификатор сеанса хранится в файле cookie для этого браузера. Никогда не храните конфиденциальную информацию в сеансе, поскольку идентификатор сеанса отправляется туда и обратно в виде обычного текста и, следовательно, может использоваться внешним источником.

Подробнее о Sessions здесь.

Смежные вопросы