Как запретить режим отслеживания сеанса ASP в Microsoft ASP.NET

Заявление об отказе от обязательств для неподдерживаемых продуктов

Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается «как есть» и обновляться не будет.

За дополнительной информацией об обработке запросов с использованием механизма Microsoft Active Server Pages обратитесь к следующей статье Microsoft Knowledge Base:
244465 HOW TO: Turn Off ASP Session State in Active Server Pages and IIS

Содержание

Аннотация

В данной статье приводится поэтапная демонстрация запрещения режима отслеживания сеанса в ASP.NET.

Если в системе разрешен режим отслеживание сеанса, для каждого пользователя, получившего доступ к приложению, ASP.NET создает сеанс, который используется для идентификации пользователя при работе со всеми страницами в приложении. Если же режим отслеживание сеанса запрещен, пользовательские данные не проверяются, и в этом случае невозможно сохранить информацию в объекте "Session" или использовать события "Session_OnStart" и "Session_OnEnd". Если приложение или страница не требуют обязательного отслеживания сеанса, то, запретив данный режим, можно значительно повысить производительность работы приложения.

В ASP.NET режим отслеживания сеанса запрещен, если для хранения данных не используется объект "Session" или принудительно изменяются события сеанса "Session_OnStart" и "Session_OnEnd". В этом случае каждый раз при обновлении одной страницы в окне обозревателя создается новый идентификатор "Session.SessionID".

Запрещение режима отслеживания сеанса на уровне приложения

В следующем примере показано поэтапно запрещение режима отслеживания сеанса на уровне приложения, которое будет применяться ко всем страницам в приложении:
  1. Запустите Microsoft Visual Studio .NET и создайте новое веб-приложение с помощью ASP.NET.
  2. В обозревателе "Solution Explorer" двойным щелчком откройте "Web.config" для просмотра содержимого данного файла.
  3. Определите расположение раздела "<sessionState>" и для параметра "mode" укажите значение "Off".
  4. Сохраните созданный файл или проект, в котором будет запрещен режим отслеживания сеанса при работе со всеми страницами в приложении.

Запрещение режима отслеживания сеанса на уровне страницы

В следующем примере показано поэтапно запрещение режима отслеживания сеанса на уровне страницы, которое будет применяться только к конкретной странице, для которой сделаны данные изменения:
  1. Запустите Microsoft Visual Studio .NET и создайте новое веб-приложение с помощью ASP.NET.
  2. В обозревателе "Solution Explorer" двойным щелчком откройте форму, для которой необходимо запретить режим отслеживания сеанса.
  3. Перейдите на вкладку "HTML".
  4. В заголовке страницы укажите параметр "EnableSessionState=''false'' (без кавычек) в директиве "@ Page". Измененный атрибут должен быть представлен примерно в таком виде:
    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
    AutoEventWireup="false" Inherits="WebApplication1.WebForm1"
    EnableSessionState="false" %>
  5. Сохраните созданный файл или проект, в котором будет запрещен режим отслеживания сеанса при работе с данной страницей в приложении.

Возможные проблемы

При попытке ввести или получить информацию о сеансе пользователя в режиме запрещенного отслеживания сеанса появляется следующее сообщение об ошибке:
Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive

Ссылки

За дополнительной информацией о режиме отслеживания сеанса обратитесь к следующим разделам в документации пакета .NET Framework Software Development Kit (SDK):
Свойства

Номер статьи: 306996 — последний просмотр: 19 марта 2007 г. — редакция: 1

Отзывы и предложения