Compartilhar via


sessionState Element (ASP.NET Settings Schema)

Configura definições de estado de sessão para o aplicativo atual.

<sessionState 
    mode="[Off|InProc|StateServer|SQLServer|Custom]"
    timeout="number of minutes"
    cookieName="session identifier cookie name"
    cookieless=
         "[true|false|AutoDetect|UseCookies|UseUri|UseDeviceProfile]"
    regenerateExpiredSessionId="[True|False]"
    sessionIDManagerType="session manager type"
    sqlConnectionString="sql connection string"
    sqlCommandTimeout="number of seconds"
    allowCustomSqlDatabase="[True|False]"
    useHostingIdentity="[True|False]"
    stateConnectionString="tcpip=server:port"
    stateNetworkTimeout="number of seconds"
    customProvider="custom provider name"
    compressionEnabled="[True|False]"
    sqlConnectionRetryInterval="number of seconds">
    <providers>...</providers>
</sessionState>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho, e elementos pai.

Atributos

Atributo

Descrição

allowCustomSqlDatabase

Opcional Boolean atributo.

Especifica se o banco de dados do estado da sessão SQL pode ser um banco de dados personalizado em vez do ASP.Banco de dados de rede padrão. Se false, não é possível especificar um catálogo inicial nem um banco de dados como o valor para o sqlConnectionString atributo. O banco de dados SQL de estado de sessão padrão é o banco de dados ASPState. Para obter mais informações, consulteModos de estado de sessão.

Esse atributo é novo na.NET Framework versão 2.0.

O padrão é false.

compressionEnabled

Opcional Boolean atributo.

Especifica se a compactação é aplicada aos dados de estado da sessão.

O padrão é false.

cookieless

Opcional HttpCookieMode atributo.

Especifica como os cookies são usados para um aplicativo Web.

O cookieless atributo pode ser uma das seguintes possíveis valores. O padrão é o UseCookies valor.

Observação

Quando você configura um aplicativo habilitado para AJAX do ASP.NET Web site, use apenas o valor padrão de UseCookies para o cookieless atributo.Configurações de cookies codificados em URL não são suportadas pelo ASP.Bibliotecas de scripts de cliente NET AJAX.

ValorDescrição
AutoDetect ASP.NET determina se o dispositivo ou navegador solicitante suporta cookies.Se o dispositivo ou navegador solicitante oferece suporte a cookies, AutoDetect usa cookies para manter os dados do usuário; Caso contrário, um identificador é usado na seqüência de consulta.Se o navegador ou dispositivo oferece suporte a cookies, mas no momento em que os cookies estão desabilitados, os cookies ainda são usados pelo recurso do solicitante.
UseCookies Cookies persistirem os dados do usuário, independentemente se o navegador ou dispositivo oferece suporte a cookies.
UseDeviceProfile ASP.NET determina se deve usar cookies com base no HttpBrowserCapabilities configuração.Se o HttpBrowserCapabilities configuração indica que o navegador ou dispositivo oferece suporte a cookies, os cookies são usados; Caso contrário, um identificador é usado na seqüência de consulta.
UseUri O recurso de chamada usa a seqüência de caracteres de consulta para armazenar um identificador, independentemente se o navegador ou dispositivo oferece suporte a cookies.

cookieName

Opcional String atributo.

Especifica o nome do cookie que armazena o identificador da sessão.

Esse atributo é novo na.NET Framework versão 2.0.

O padrão é "ASP.NET_SessionId".

customProvider

Opcional String atributo.

Especifica o nome de um provedor de estado de sessão personalizado a ser usado para armazenar e recuperar dados de estado da sessão. O provedor especificado no provedores elemento. O provedor é usado somente quando o modo de estado da sessão é definido como o Custom valor. Para obter mais informações, consulte Modos de estado de sessão.

Esse atributo é novo na.NET Framework versão 2.0.

The default is an empty string ("").

mode

Opcional SessionStateMode atributo.

Especifica onde armazenar os valores de estado de sessão. Para obter mais informações, consulte Modos de estado de sessão.

O mode atributo pode ser uma das seguintes possíveis valores. O padrão é o InProc valor.

ValorDescrição
Custom Estado de sessão está usando um informações de estado de sessão de loja para loja de dados personalizados.
InProc Estado da sessão está em processo com um aplicativo ASP.Processo de trabalho NET.
Off Estado de sessão é desabilitado.
SQLServer Estado de sessão está usando um banco de dados fora do processo de SQL Server para armazenar informações de estado.
StateServer Estado da sessão é usando o ASP de out-of-process.Serviço de estado NET para armazenar informações de estado.

partitionResolverType

Opcional String atributo.

Especifica onde armazenar o estado da sessão. Se um valor é especificado na partitionResolverType atributo, o sqlConnectionString e stateConnectionString atributos são ignorados. A seqüência de conexão é retornada pelo PartitionResolverType propriedade é usada em cada solicitação de conexão para o local do servidor apropriado para o restante da solicitação. Se a seqüência de conexão não for válida, ASP.NET lança a mesma exceção que é lançada quando a seqüência de caracteres de conexão configurada para o servidor não é válida. Esta propriedade é usada para particionar os dados de estado de sessão entre vários nós de back-end quando no modo de servidor de estado ou de SQL.

Esse atributo é novo na.NET Framework versão 2.0.

O padrão é uma seqüência vazia.

regenerateExpiredSessionId

Opcional Boolean atributo.

Especifica se a identificação da sessão sejam reemitida quando uma ID de sessão expirada é especificada pelo cliente. Por padrão, as identificações de sessão são reemitidas somente para o cookieless modo quando regenerateExpiredSessionId está habilitado. Para obter mais informações, consulte IsCookieless.

Esse atributo é novo na.NET Framework versão 2.0.

O padrão é true.

sessionIDManagerType

Opcional String atributo.

Especifica o tipo totalmente qualificado da sessão do Gerenciador de identificação. O valor padrão é uma sequência vazia.

sqlCommandTimeout

Opcional TimeSpan atributo.

Especifica o tempo limite de duração, em segundos, o SQL comandos que estão usando o modo de estado da sessão de SQL Server. O tempo limite a duração é o número de segundos que um comando SQL pode ficar ocioso antes de ele é cancelado.

Esse atributo é novo na.NET Framework versão 2.0.

O padrão é 0:00:30 (30 segundos).

sqlConnectionRetryInterval

Opcional TimeSpan atributo.

Especifica o intervalo de tempo em segundos, entre as tentativas de conexão ao banco de dados.

O padrão é 0 segundos.

sqlConnectionString

Opcional String atributo.

Especifica a seqüência de conexão para um computador executando o SQL Server. Esse atributo é necessário quando o mode atributo está definido como o SQLServer valor. Para obter mais informações, consulte Modos de estado de sessão.

Você pode definir esse atributo para um nomeado sqlConnectionString da connectionStrings nó ou use a seguinte sintaxe:

sqlConnectionString="Data Source=.\SQLServer2005;Initial Catalog=SessionState;Integrated Security=SSPI;"

Observação

Para melhorar a segurança do seu aplicativo, quando você estiver usando SQLServer modo, useProtected Configuration para ajudar a proteger o sqlConnectionString valor criptografando a sessionState seção da sua configuração.

O padrão é "data source=127.0.0.1;Integrated Security=SSPI".

stateConnectionString

Opcional String atributo.

Especifica o nome do servidor ou o endereço e a porta onde o estado de sessão é armazenado remotamente. O valor de porta deve ser 42424. Esse atributo é necessário quando mode é o StateServer valor. Certifique-se de que o ASP.NET está em execução no servidor remoto que armazena as informações de estado de sessão. Este serviço é instalado com o ASP.NET e por padrão, está localizado na % windir%\Microsoft.NET\Framework\VersionNumber\aspnet_state.exe. Para obter mais informações, consulte Modos de estado de sessão.

Observação

Para melhorar a segurança do seu aplicativo ao usar StateServer modo, useProtected Configuration para ajudar a proteger o stateConnectionString valor criptografando a sessionStateseção da configuração.

O padrão é "tcpip=127.0.0.1:42424".

stateNetworkTimeout

Opcional TimeSpan atributo.

Especifica o número de segundos que a conexão de rede TCP/IP entre o servidor Web e o servidor de estado pode ficar ociosa antes que a solicitação for cancelada. Esse atributo é usado quando o mode atributo está definido como o StateServer valor.

O padrão é 10 segundos.

timeout

Opcional TimeSpan atributo.

Especifica o número de minutos que uma sessão pode ficar ociosa antes de ser abandonada. O timeout não pode ser definido como um valor maior do que 525,600 minutos (1 ano) para os modos no processo e o servidor de estado.

A sessão timeout configuração só se aplica a ASP.Páginas NET. Alterando a sessão timeout valor não afeta o tempo limite de sessão para páginas do ASP. Da mesma forma, alterar o tempo limite da sessão para páginas ASP não afeta o tempo limite da sessão do ASP.NET individuais.

O padrão é 20 minutos.

useHostingIdentity

Opcional Boolean atributo.

Especifica se o estado da sessão irá reverter para a identidade de hospedagem ou usam a representação do cliente.

Se true, ASP.NET se conecta ao armazenamento de estado da sessão, usando uma das seguintes credenciais de processo:

  • O processo de hospedagem, que é ASPNET para Serviços de Informações da Internet da Microsoft de versões 5 e 5.1 (IIS) ou NETWORK SERVICE para Microsoft Windows Server 2003.

  • A identidade de representação de aplicativos, que é quando a configuração a seguir é usada:

    <identity impersonate="true" userName="domínio \ nome_de_usuário" password="senha segura" />

Se false, ASP.NET se conecta ao armazenamento de estado da sessão, usando as credenciais que estão atualmente associadas ao thread do sistema operacional para a solicitação atual. Para a representação do cliente, ASP.NET se conectará ao armazenamento de estado da sessão, usando as credenciais de segurança foram negociadas com o navegador. Se false, ASP.NET não reverte para a identidade do processo ou a identidade de representação do aplicativo ao se conectar ao armazenamento de estado da sessão. Para obter mais informações, consulte ASP.NET Impersonation.

Esse atributo é novo na.NET Framework versão 2.0.

O padrão é true.

Observação

No.NET Framework versão 1.1, se o mode atributo foi definido como SQLServer, e a representação do cliente estava em vigor, o ASP.NET é conectado ao computador executando o SQL Server, usando as credenciais de cliente do ASP.Representação do cliente NET.

Atributos herdados

Atributos opcionais.

Atributos herdados por todos os elementos de seção.

Elementos filho

Elemento

Descrição

providers

Contém uma coleção de provedores de armazenamento de estado de sessão personalizado.

Elementos pai

Elemento

Descrição

configuration

O elemento raiz necessários em cada arquivo de configuração que é usado pelo common language runtime e a.Aplicativos com interatividade de NET.

system.web

Especifica o elemento raiz para o ASP.Definições de configuração de rede em uma configuração de arquivo e contém elementos que configurar aplicativos ASP.NET e controlar como os aplicativos se comportam.

Comentários

O <sessionState> elemento configura as configurações de estado de sessão para o aplicativo atual.

Quando um novo cliente começa a interagir com um aplicativo da Web, uma identificação de sessão é emitida e associada a todas as solicitações subseqüentes do mesmo cliente enquanto a sessão é válida. Essa identificação é usada para manter o estado do lado do servidor que está associado com a sessão do cliente nas solicitações. O <sessionState> elemento controla como o ASP.NET estabelece e mantém essa associação para cada cliente.

Esse mecanismo é muito flexível e permite que você as informações de estado de sessão fora do processo de host e rastrear o estado sem usar cookies, entre outras coisas.

Quando você envia a identificação da sessão no URI, você pode exceder o tamanho máximo do URI. Se a combinação de ticket de identificação anônima, constitui o tíquete de autenticação, identificação de sessão e os dados do usuário for maiores que o comprimento máximo permitido do URI, a solicitação falhará com um erro de solicitação de 400 com defeito.

Para usar o modo StateServer

  1. No servidor remoto que armazenará as informações de estado de sessão, certifique-se de que o ASP.NET está em execução.

    O ASP.O serviço de estado NET é instalado com o ASP.NET e por padrão, está localizado na % windir%\Microsoft.NET\Framework\version\aspnet_state.exe.

  2. No arquivo Web. config do aplicativo, defina mode para "StateServer" e stateConnectionString para um valor, como "tcpip=dataserver:42424".

Para usar o modo SQLServer

  1. No computador executando o SQL Server que irá armazenar o estado da sessão, execute InstallSqlState. SQL.

    Por padrão, o InstallSqlState. SQL está em % windir%\Microsoft.NET\Framework\version.

    Isso cria um banco de dados denominado ASPState com novos procedimentos armazenados e tabelas chamadas as tabelas ASPStateTempApplications e ASPStateTempSessions no banco de dados TempDB.

  2. No arquivo Web. config do aplicativo, defina mode para "SQLServer" e sqlConnectionString para um valor, como "data source=localhost;Integrated Security=SSPI;".

    Observação

    Você pode usar o aspnet_regsql. exe para concluir estas etapas.

Para obter informações sobre como acessar e modificar valores de configuração para o <sessionState> o elemento no código do aplicativo, consulte SessionStateSection e System.Web.SessionState.

Configuração padrão

O seguinte padrão <sessionState> é o elemento não explicitamente configurado no arquivo Machine. config ou no arquivo Web. config raiz. No entanto, é a configuração padrão que é retornada pelo aplicativo.

<sessionState 
   mode="InProc" 
   stateConnectionString="tcpip=127.0.0.1:42424" 
   stateNetworkTimeout="10" 
   sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI" 
   sqlCommandTimeout="30" 
   customProvider="" 
   cookieless="UseCookies" 
   cookieName="ASP.NET_SessionId" 
   timeout="20" 
   allowCustomSqlDatabase="false" 
   regenerateExpiredSessionId="true" 
   partitionResolverType="" 
   useHostingIdentity="true">
   <providers>
      <clear />
   </providers>
</sessionState>

Exemplo

O exemplo a seguir demonstra como especificar definições de configuração de estado de sessão.

<sessionState
   mode="SQLServer"
   cookieless="true"
   sqlConnectionString=" Integrated Security=SSPI;data source=MySqlServer;"
   sqlCommandTimeout="10" />

Informações do elemento

Manipulador da seção de configuração

SessionStateSection

Membro de configuração

System.Web.SessionState

Locais configuráveis

Machine.config

Web. config de nível de raiz

Web. config de nível de aplicativo

Requisitos

Versões de Serviços de Informações da Internet da Microsoft, 5.0, 5.1 ou 6.0

A.NET Framework versões 1.0, 1.1 ou 2.0

Microsoft Visual Studio 2003 ou 2005 de Visual Studio

Consulte também

Tarefas

Como: Configurar Diretórios Específicos Usando Configurações por Localização

Como: Bloquear definições de configuração ASP.NET

Referência

system.web Element (ASP.NET Settings Schema)

provedores de elemento para sessionState (ASP.NET Configurações Schema)

configuração Element (Geral Configurações Schema)

System.Configuration

System.Web.Configuration

SessionStateSection

System.Web.SessionState

Conceitos

ASP.NET Impersonation

Modos de estado de sessão

Protegendo estado da sessão

Hierarquia e Herança do Arquivo de Configuração do ASP.NET

Protegendo a configuração do ASP.NET

Cenários de configuração ASP.NET

Outros recursos

Criptografando informações de configuração usando configuração protegida

General Configuration Settings (ASP.NET)

ASP.NET Configuration Settings

Administração de Sites do ASP.NET

API de Configuração do ASP.NET