HttpSessionState.SessionID Propriedade

Definição

Obtém o identificador exclusivo para a sessão.

public:
 property System::String ^ SessionID { System::String ^ get(); };
public string SessionID { get; }
member this.SessionID : string
Public ReadOnly Property SessionID As String

Valor da propriedade

String

O identificador de sessão exclusivo.

Exemplos

O exemplo de código a seguir mostra um arquivo Web.config que configura o estado da sessão para usar identificadores de sessão sem cookie. Para obter mais informações, consulte a propriedade IsCookieless.

<configuration>
  <system.web>
    <sessionState
      cookieless="true"
      regenerateExpiredSessionId="true"
      timeout="30" />
  </system.web>
</configuration>

Comentários

A SessionID propriedade é usada para identificar exclusivamente um navegador com dados de sessão no servidor. O SessionID valor é gerado aleatoriamente por ASP.NET e armazenado em um cookie de sessão que não expira no navegador. Em SessionID seguida, o valor é enviado em um cookie com cada solicitação para o aplicativo ASP.NET.

Se você quiser desabilitar o uso de cookies em seu aplicativo ASP.NET e ainda usar o estado de sessão, poderá configurar seu aplicativo para armazenar o identificador de sessão na URL em vez de um cookie definindo o cookieless atributo do elemento de configuração sessionState como true, ou para UseUri, no arquivo Web.config para seu aplicativo. Você pode ter ASP.NET determinar se há suporte para cookies pelo navegador especificando um valor do UseDeviceProfile cookieless atributo. Você também pode ter ASP.NET determinar se os cookies estão habilitados para o navegador especificando um valor do AutoDetect cookieless atributo. Se houver suporte para cookies quando UseDeviceProfile for especificado ou habilitado quando AutoDetect for especificado, o identificador de sessão será armazenado em um cookie; caso contrário, o identificador de sessão será armazenado na URL. Para obter mais informações, consulte a propriedade IsCookieless.

O SessionID é enviado entre o servidor e o navegador em texto limpo, seja em um cookie ou na URL. Como resultado, uma fonte indesejada pode obter acesso à sessão de outro usuário obtendo o valor e incluindo-o SessionID em solicitações ao servidor. Se você estiver armazenando informações privadas ou confidenciais no estado da sessão, é recomendável usar o SSL para criptografar qualquer comunicação entre o navegador e o servidor que inclua o SessionID.

Ao usar o estado de sessão baseado em cookie, ASP.NET não aloca o armazenamento para dados de sessão até que o Session objeto seja usado. Como resultado, uma nova ID de sessão é gerada para cada solicitação de página até que o objeto de sessão seja acessado. Se o aplicativo exigir uma ID de sessão estática para toda a sessão, você poderá implementar o Session_Start método no arquivo Global.asax do aplicativo e armazenar dados no Session objeto para corrigir a ID da sessão ou usar o código em outra parte do aplicativo para armazenar explicitamente os Session dados no objeto.

Se o aplicativo usar o estado da sessão sem cookie, a ID da sessão será gerada no modo de exibição da primeira página e será mantida para toda a sessão.

Aplica-se a

Confira também