Подтвердить что ты не робот

Как работает сессия в asp.net?

Пожалуйста, кто-нибудь подскажет мне, как сеанс действительно работает в asp.net? Я смущаюсь в рамках сессии и хочу кратко узнать об этом, поэтому, пожалуйста, направляйте меня

4b9b3361

Ответ 1

ASP.NET использует cookie для отслеживания пользователей. Когда вы пытаетесь сначала написать что-то на сеанс, cookie отправляется клиенту, что-то вроде ASP.NET_SessionId. Этот файл cookie отправляется клиентом при последующих запросах. Благодаря этому файлу cookie сервер может идентифицировать клиента и записывать/читать связанные данные сеанса. Важно отметить, что этот файл cookie не является постоянным (не сохранился перезапуск браузера) и испускается с флагом HttpOnly, что означает, что клиент сценарии не могут получить к нему доступ.

В дополнение к файлам cookie вы также можете настроить ASP.NET для использования скрытых полей или добавить идентификатор сеанса к строке запроса для каждого запроса.

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

По умолчанию есть 3 места, где могут храниться фактические данные сеанса:

  • In-Proc: сеанс хранится в памяти приложения (быстрее, но если у вас несколько серверов в ферме серверов, это не сработает)
  • Out-of-Proc: данные хранятся на отдельном сервере, на котором установлена ​​государственная служба (данные хранятся в памяти отдельного компьютера, что означает, что несколько веб-серверов могут работать в веб-ферме).
  • SqlServer: данные хранятся в SQL Server (это самый медленный, но самый надежный, поскольку данные сеанса хранятся в базе данных SQL Server и могут работать, если сбой сервера сеанса, который не относится к Out-Of-Proc)
  • Пользовательская реализация: благодаря расширяемости ASP.NET вы можете написать собственный поставщик сеансов и хранить данные там, где вам нравится.

Вот хорошая статья о MSDN, которая исследует состояние сеанса ASP.NET.

Ответ 2

Сессия: [Сохранено на стороне сервера]

1.Если вы создаете средство сеанса, сервер сохраняет ваши данные сеанса и создает один SessionID. [Данные сеанса с SessionID, хранящиеся в поставщике состояния на сервере]

2. Затем сервер возвращает SessionID в клиентский браузер.

3. Затем вы можете сохранить возвращенный SessionID в Cookie.

4. Последующий последующий запрос, связанный с SessionID, может обращаться к данным сервера.

Примечание. Сессия только для текущего браузера. Сессия и пользовательские.