Desabilitar o estado da sessão ASP no ASP.NET
Este artigo demonstra como desabilitar o estado da sessão em ASP.NET.
Versão original do produto: ASP.NET
Número de KB original: 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 é usado para identificar o usuário entre páginas no aplicativo. Quando o estado da sessão é desabilitado, os dados do usuário não são rastreados e você não pode armazenar informações no Session
objeto ou usar os Session_OnStart
eventos ou Session_OnEnd
. Ao desabilitar o estado da sessão, você poderá aumentar o desempenho se o aplicativo ou a página não exigir estado de sessão para habilitá-lo.
Em ASP.NET, se você não usar o Session
objeto para armazenar dados ou se algum dos eventos (Session_OnStart
ou Session_OnEnd
) for tratado, o Session
estado da sessão será desabilitado. Uma nova Session.SessionID
é criada 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:
- Inicie o Microsoft Visual Studio .NET e crie um novo aplicativo Web ASP.NET.
- Em Gerenciador de Soluções, clique duas vezes emWeb.config para exibir o conteúdo deste arquivo.
- Localize a
<sessionState>
seção e defina o valor do modo como Desativado. - Salve o arquivo e/ou o projeto para desabilitar 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, o que afeta apenas as páginas específicas que habilitam essas alterações:
Inicie o Visual Studio .NET e crie um novo aplicativo Web ASP.NET.
Em Gerenciador de Soluções, clique duas vezes no Formulário Web para o qual você deseja desabilitar o estado da sessão.
Selecione a guia HTML .
Na parte superior da página, adicione
EnableSessionState="false"
a diretiva @ Page. O atributo modificado deve aparecer semelhante ao seguinte:<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.WebForm1" EnableSessionState="false" %>
Salve o arquivo e/ou o 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, você 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
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários