Отключение состояния сеанса ASP в ASP.NET
В этой статье показано, как отключить состояние сеанса в ASP.NET.
Исходная версия продукта: ASP.NET
Исходный номер базы знаний: 306996
Сводка
Если состояние сеанса включено, ASP.NET создает сеанс для каждого пользователя, который обращается к приложению, который используется для идентификации пользователя на разных страницах в приложении. Если состояние сеанса отключено, данные пользователя не отслеживаются, и вы не можете хранить информацию в объекте Session
или использовать Session_OnStart
события или Session_OnEnd
. Отключив состояние сеанса, можно повысить производительность, если приложению или странице не требуется состояние сеанса для его включения.
В ASP.NET, если объект не используется для Session
хранения данных или обрабатывается какое-либо из Session
событий (Session_OnStart
или Session_OnEnd
), состояние сеанса будет отключено. Новый Session.SessionID
создается каждый раз, когда одна страница обновляется в одном сеансе браузера.
Отключение состояния сеанса на уровне приложения
Ниже показано, как отключить состояние сеанса на уровне приложения, что влияет на все страницы приложения.
- Запустите Microsoft Visual Studio .NET и создайте веб-приложение ASP.NET.
- В Обозреватель решений дважды щелкните Web.config, чтобы просмотреть содержимое этого файла.
<sessionState>
Найдите раздел и задайте для параметра режим значение Выкл.- Сохраните файл и (или) проект, чтобы отключить состояние сеанса на всех страницах приложения.
Отключение состояния сеанса на уровне страницы
Ниже показано, как отключить состояние сеанса на уровне страницы, что влияет только на определенные страницы, которые включают эти изменения.
Запустите Visual Studio .NET и создайте веб-приложение ASP.NET.
В Обозреватель решений дважды щелкните веб-форму, для которой требуется отключить состояние сеанса.
Перейдите на вкладку HTML .
В верхней части страницы добавьте
EnableSessionState="false"
директиву @Page. Измененный атрибут должен выглядеть следующим образом:<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1" EnableSessionState="false" %>
Сохраните файл и (или) проект, чтобы отключить состояние сеанса на всех страницах приложения.
Устранение неполадок
При попытке задать или получить сведения при отключенном состоянии сеанса появляется следующее сообщение об ошибке:
Состояние сеанса можно использовать только в том случае, если для параметра enableSessionState задано значение true, либо в файле конфигурации, либо в директиве Page.
Ссылки
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по