Desabilitar o estado da sessão ASP no ASP.NET

Este artigo demonstra como desabilitar o estado da sessão no ASP.NET.

Versão original do produto: ASP.NET
Número original do KB: 306996

Resumo

Quando o estado da sessão está habilitado, ASP.NET cria uma sessão para cada usuário que acessa o aplicativo, que é usada para identificar o usuário nas páginas do aplicativo. Quando o estado da sessão é desativado, os Session dados do usuário não são rastreados e você não pode armazenar informações no objeto ou usar os Session_OnStart eventos or Session_OnEnd . Ao desabilitar o estado da sessão, você pode aumentar o desempenho se o aplicativo ou a página não exigir o estado da sessão para ativá-lo.

Em ASP.NET, se você não usar o Session objeto para armazenar dados ou se qualquer um dos eventos (Session_OnStart ou Session_OnEnd) for manipulado, o Session estado da sessão será desabilitado. Um novo Session.SessionID é criado sempre que uma única página é atualizada em uma sessão do navegador.

Desabilitar o estado da sessão no nível do aplicativo

As etapas a seguir demonstram como desabilitar o estado da sessão no nível do aplicativo, o que afeta todas as páginas do aplicativo:

  1. Inicie o Microsoft Visual Studio .NET e crie um novo aplicativo Web ASP.NET.
  2. No Gerenciador de Soluções, clique duas vezes em Web.config para exibir o conteúdo desse arquivo.
  3. Localize a <sessionState> seção e defina o valor do modo como Desativado.
  4. Salve o arquivo e/ou o projeto para desativar o estado da sessão em todas as páginas do aplicativo.

Desabilitar o estado da sessão no nível da página

As etapas a seguir demonstram como desabilitar o estado da sessão no nível da página, que afeta apenas as páginas específicas que permitem essas alterações:

  1. Inicie o Visual Studio .NET e crie um novo aplicativo Web ASP.NET.

  2. No Gerenciador de Soluções, clique duas vezes no Formulário Web para o qual você deseja desabilitar o estado da sessão.

  3. Selecione a guia HTML.

  4. Na parte superior da página, adicione EnableSessionState="false" a diretiva @ Page. O atributo modificado deve ser semelhante ao seguinte:

    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs"
    AutoEventWireup="false" Inherits="WebApplication1.WebForm1"
    EnableSessionState="false" %>
    
  5. Salve o arquivo e/ou projeto para desabilitar o estado da sessão em todas as páginas do aplicativo.

Solução de problemas

Se você tentar definir ou recuperar informações quando o estado da sessão estiver desabilitado, receberá a seguinte mensagem de erro:

O estado da sessão só pode ser usado quando enableSessionState é definido como true, em um arquivo de configuração ou na diretiva Page

Referências