Partilhar via


Elemento sessionState (Esquema de configurações do ASP.NET)

Define as configurações de estado de sessão para o aplicativo corrente.

configuração elemento (Geral Settings esquema)
  System.Web elemento (esquema configurações ASP.NET) 
    Elemento sessionState (Esquema de configurações do ASP.NET)

<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]"
    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">
    <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 estado da sessão banco de dados SQL pode ser um banco de dados personalizado em vez do banco de dados do ASP.NET padrão. If false, não é possível especificar um catálogo inicial nem um banco de dados sistema autônomo o valor para o sqlConnectionString atributo. O banco de dados do SQL de estado de sessão padrão é o banco de dados ASPState. Para obter mais informações, consulte Modos de estado de sessão.

Esse atributo é novo no .NET estrutura versão 2.0.

O padrão é false.

cookieless

Opcional HttpCookieMode atributo.

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

The cookieless atributo pode ser um dos seguintes valores possíveis. O padrão é o UseCookies valor.

ObservaçãoObservação:
Quando Configurar da Web habilitado para AJAX ASP.NET do site, use apenas o valor padrão de UseCookies para o cookieless atributo. Não há suporte para as configurações que usam cookies codificados em URL, as bibliotecas de script de cliente ASP.NET AJAX.
Valor Descrição
AutoDetect ASP.NET determina se o navegador solicitante ou o dispositivo oferece suporte a cookies.Se o navegador solicitante ou o dispositivo oferecer suporte a cookies, AutoDetect usa cookies para manter dados de usuário; caso contrário, um identificador é usado na seqüência de caracteres de consulta. Se o navegador ou dispositivo oferece suporte a cookies, mas os cookies estão desativados atualmente, os cookies ainda são usados pelo recurso do solicitante.
UseCookies Cookies persistem dados de usuário, independentemente de se o navegador ou dispositivo oferece suporte a cookies.
UseDeviceProfile ASP.NET determina se será usado cookies com base no HttpBrowserCapabilities a configuração. Se o HttpBrowserCapabilities configuração indica que o navegador ou dispositivo oferece suporte a cookies, os cookies são utilizados; caso contrário, um identificador é usado na seqüência de caracteres de consulta.
UseUri O recurso de chamada usa a seqüência de caracteres de consulta para armazenar um identificador, independentemente de 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 no .NET estrutura 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 está especificado no provedores elemento. O provedor é usado somente quando o modo de estado de sessão é conjunto à Custom valor. Para obter mais informações, consulte Modos de estado de sessão.

Esse atributo é novo no .NET estrutura 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.

The mode atributo pode ser um dos seguintes valores possíveis. O padrão é o InProc valor.

Valor Descrição
Custom Estado da sessão está usando um informações de estado de sessão de loja para loja dados personalizados.
InProc estado de sessão está em processo com um processo do operador do ASP.NET.
Off estado de sessão é desabilitado.
SQLServer estado de sessão é usar um banco de dados fora de processo do SQL servidor para armazenar informações de estado.
StateServer estado de sessão é usar o serviço de estado fora de processo ASP.NET para armazenar informações de estado.

partitionResolverType

Opcional String atributo.

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

Esse atributo é novo no .NET estrutura versão 2.0.

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

regenerateExpiredSessionId

Opcional Boolean atributo.

Especifica se a ID da sessão ser 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 no .NET estrutura versão 2.0.

O padrão é true.

sqlCommandTimeout

Opcional TimeSpan atributo.

Especifica o time limite de duração, em segundos, para o SQL comandos que estão usando o modo de estado de sessão do SQL servidor. O time limite a duração é o número de segundos que um comando SQL pode ficar ocioso antes de ser cancelada.

Esse atributo é novo no .NET estrutura versão 2.0.

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

sqlConnectionString

Opcional String atributo.

Especifica a cadeia de conexão para um computador que esteja executando o SQL servidor. Esse atributo é necessário quando o mode atributo é definido como o SQLServer valor. Para obter mais informações, consulte Modos de estado de sessão.

Você pode conjunto esse atributo para uma chamada sqlConnectionString do connectionStrings nó ou use a seguinte sintaxe:

sqlConnectionString="Data Source=.\SQLServer2005;Initial Catalog=SessionState;Integrated Security=SSPI;"
ObservaçãoObservação:
Para melhorar a segurança do seu aplicativo quando você estiver usando SQLServer modo de usoConfiguração protegida para ajudar a proteger o sqlConnectionString valor criptografando o 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 endereço e porta onde 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 serviço de estado ASP.NET está sendo executado no servidor remoto que armazena as informações de estado de sessão. Esse serviço é instalado com o ASP.NET e por padrão, está localizado em % windir%\Microsoft.NET\estrutura\VersionNumber\aspnet_state.exe. Para obter mais informações, consulte Modos de estado de sessão.

ObservaçãoObservação:
Para melhorar a segurança do seu aplicativo ao usar o StateServer modo de usoConfiguração protegida para ajudar a proteger o stateConnectionString valor criptografando o sessionState seçã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 foi cancelada. Este atributo é usado quando o mode o atributo é conjunto para 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 que ele é abandonado. The timeout atributo não pode ser conjunto como um valor que é maior do 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 aplicam apenas às páginas ASP.NET. Alterar a sessão timeout valor não afeta o time limite de sessão para páginas ASP. Da mesma forma, alterar o time limite de sessão para páginas ASP não afeta o time limite de sessão para páginas ASP.NET.

O padrão é 20 minutos.

useHostingIdentity

Opcional Boolean atributo.

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

If trueO ASP.NET conecta-se para o armazenamento de estado de sessão usando um dos seguintes credenciais de processo:

  • O processo de hospedagem, que é ASPNET para o Serviços de Informações da Internet da Microsoft (IIS) versões 5 e 5.1 ou serviço de rede para Microsoft Windows servidor 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 de segurança de " />

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

Esse atributo é novo no .NET estrutura versão 2.0.

O padrão é true.

ObservaçãoObservação:
No .NET estrutura versão 1.1, se a mode atributo foi conjunto para SQLServere a representação do cliente estava em vigor, ASP.NET conectado ao computador executando SQL servidor usando as credenciais do cliente de representação de cliente ASP.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 exigido em todos os arquivos de configuração usado pelo common linguagem tempo de execução e os aplicativos .NET estrutura–based.

system.web

Especifica o elemento raiz para as definições de configuração do ASP.NET em um arquivo de configuração e contém elementos que configurar aplicativos ASP.NET e o controle como os aplicativos se comportam.

Comentários

The <sessionState> elemento define as configurações de estado de sessão do aplicativo corrente.

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

Esse mecanismo é muito flexível e permite hospedar informações de estado de sessão fora de processo e controlar estado sem usar cookies, entre outras coisas.

Você pode exceder o dimensionar máximo do URI quando você envia a ID da sessão no URI. Se a combinação entre o anônimo tíquete de ID, permissão de autenticação, ID de sessão de formulários e dados de usuário são maiores do que o comprimento máximo de URI permitido, a solicitação falhará com um erro de solicitação incorreta de 400.

Para usar o modo StateServer

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

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

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

Para usar o modo SQLServer

  1. No computador que executa o SQL servidor que irá armazenar estado de sessão, execute InstallSqlState.sql.

    Por padrão, InstallSqlState.sql está no windir%\Microsoft.NET\estrutura\versão %.

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

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

    ObservaçãoObservação:

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

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

Configuração padrão

O seguinte padrão <sessionState> elemento não está configurado explicitamente na computador. arquivo de configuração ou na Web raiz. arquivo de configuração. 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 configurações de estado de sessão.

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

Informações do elemento

Manipulador de seção de configuração

SessionStateSection

Configuração de membro

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

As versões do .NET estrutura 1.0, 1.1 ou 2.0

Microsoft Visual Studio 2003 ou o Visual Studio 2005

Consulte também

Tarefas

Como: Configurar diretórios específicos usando configurações de local

Como: Bloquear ASP.NET Configuration Settings

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 configuração ASP.NET

Cenários de configuração ASP.NET

Referência

System.Web elemento (esquema configurações ASP.NET) 

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

configuração elemento (Geral Settings esquema)

System.Configuration

System.Web.Configuration

SessionStateSection

System.Web.SessionState

Outros recursos

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

Configurações gerais (ASP.NET)

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

Administrando ites da Web do ASP.NET

API de Configuração do ASP.NET