Compartilhar via


sessionState Element (ASP.NET Settings Schema)

[Esta documentação destina-se apenas à visualização e está sujeita a alterações em versões posteriores. Os tópicos em branco estão incluídos como espaços reservados.]

Define as configuraçõ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>

Attributes and Elements

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

Attributes

Atributo

Descrição

allowCustomSqlDatabase

Opcional Boolean atributo.

Especifica se o banco de dados do estado de sessão SQL pode ser um banco de dados personalizado em vez do ASP.Banco de dados de rede padrão. Se false, você não pode 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, consulteSession State Modes.

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 do estado de 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 um dos seguintes valores possíveis. O padrão é o UseCookies valor.

NoteNote
Quando você configura um aplicativo habilitado para AJAX do ASP.NET da Web, use apenas o valor padrão de UseCookies para o cookieless atributo.As configurações que usam cookies codificados em URL não são suportadas pelo processo do ASP.Bibliotecas de scripts de cliente NET AJAX.
ValorDescrição
AutoDetect ASP.NET determina se o dispositivo ou navegador solicitante oferece suporte a cookies.Se o dispositivo ou navegador solicitante oferece suporte a cookies, AutoDetect usa cookies para persistir 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 os cookies foram desabilitados, os cookies ainda são usados pelo recurso do solicitante.
UseCookies Cookies persistirem os dados do usuário, independentemente de se o navegador ou dispositivo oferece suporte a cookies.
UseDeviceProfile ASP.NET determina se deve usar cookies com base no HttpBrowserCapabilities configuração.Se a 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 de sessão. O provedor é especificado na provedores de elemento. O provedor é usado somente quando o modo de estado da sessão é definido como o Custom valor. Para obter mais informações, consulte Session State Modes.

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 Session State Modes.

O mode atributo pode ser um dos seguintes valores possíveis. 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 de sessão está em processo com um aplicativo ASP.Processo de trabalho NET.
Off Estado de sessão está desativado.
SQLServer Estado de sessão está usando um banco de dados de SQL Server out-of-process 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 for especificado na partitionResolverType atributo, o sqlConnectionString e stateConnectionString atributos forem ignorados. A seqüência de conexão que é retornada pelo PartitionResolverType em cada solicitação, a propriedade é usada para conectar-se 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 através de 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 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 que executa o SQL Server. Esse atributo é necessário quando o mode atributo está definido como o SQLServer valor. Para obter mais informações, consulte Session State Modes.

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

sqlConnectionString="Data Source=.\SQLServer2005;Initial Catalog=SessionState;Integrated Security=SSPI;"
NoteNote
Para melhorar a segurança do seu aplicativo quando você estiver usando SQLServer modo, use Protected Configuration para ajudar a proteger o sqlConnectionString valor criptografando o sessionState seção de 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 em windir%\Microsoft.NET\Framework\VersionNumber\aspnet_state.exe %. Para obter mais informações, consulte Session State Modes.

NoteNote
Para melhorar a segurança do seu aplicativo ao usar StateServer modo, use Protected Configuration para ajudar a proteger o stateConnectionString valor criptografando o 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 da 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 que 525,600 minutos (1 ano) para os modos em processo e o servidor de estado.

A sessão timeout definição de configuração se aplica somente ao ASP.NET correspondentes. Alterando a sessão timeout valor não afeta o tempo limite de sessão para páginas ASP. Da mesma forma, a alteração tempo limite da sessão para páginas ASP não afeta o tempo limite de sessão para o ASP.NET correspondentes.

O padrão é 20 minutos.

useHostingIdentity

Opcional Boolean atributo.

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

If true, ASP.NET conecta-se para o armazenamento de estado de 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 é usada a seguinte configuração:

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

If 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 que foram negociadas com o navegador. If false, ASP.NET não reverte para a identidade do processo ou a identidade de representação do aplicativo ao conectar-se 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.

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

Atributos herdados

Atributos opcionais.

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

Child Elements

Elemento

Descrição

providers

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

Parent Elements

Elemento

Descrição

configuration

O elemento raiz necessários em cada arquivo de configuração que é usado pelo common language runtime e o.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.

Remarks

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 ultrapassar o tamanho máximo do URI. Se a combinação do tíquete de identificação anônima, de forma tíquete de autenticação, identificação de sessão, e 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 em 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 executar essas etapas.

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

Configuração padrão

O seguinte padrão <sessionState> elemento não está explicitamente configurado no arquivo Machine. config ou no arquivo Web. config raiz. No entanto, ele é 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" />

Element Information

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 do 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

Tasks

How to: Configure Specific Folders Using Location Settings

How to: Lock ASP.NET Configuration Settings

Reference

System. Web Element (ASP.NET Settings Schema)

provedores de elemento para sessionState (ASP.NET Settings Schema)

configuração Element (General Settings Schema)

System.Configuration

System.Web.Configuration

SessionStateSection

System.Web.SessionState

Concepts

ASP.NET Impersonation

Session State Modes

Securing Session State

ASP.NET Configuration File Hierarchy

Securing Configuration

Configuration Inheritance

Other Resources

Protected Configuration

Configurações gerais (ASP.NET)

ASP.Definições de configuração de rede

Configuring ASP.NET Applications

ASP.NET Configuration API