HttpSessionState.SessionID Propriedade

Definição

Obtém o identificador único da 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 de Propriedade

O identificador único da sessão.

Exemplos

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

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

Observações

A SessionID propriedade é usada para identificar de forma única um navegador com dados de sessão no servidor. O valor SessionID é gerado aleatoriamente por ASP.NET e armazenado num cookie de sessão que não expira no navegador. O valor SessionID é então enviado num cookie com cada pedido à ASP.NET aplicação.

Se quiser desativar o uso de cookies na sua aplicação ASP.NET e ainda assim utilizar o estado da sessão, pode configurar a sua aplicação para armazenar o identificador da sessão no URL em vez de um cookie, definindo o atributo cookieless do elemento de configuração sessionState para true, Ou para UseUri, no ficheiro de Web.config da sua candidatura. Pode pedir ASP.NET determinar se os cookies são suportados pelo navegador especificando um valor de UseDeviceProfile para o atributo cookieless. Também pode pedir ASP.NET determinar se os cookies estão ativados para o navegador, especificando um valor de AutoDetect para o atributo cookieless. Se os cookies forem suportados quando UseDeviceProfile especificado, ou ativados quando AutoDetect especificados, então o identificador de sessão será armazenado num cookie; caso contrário, o identificador de sessão será armazenado na URL. Para obter mais informações, consulte a propriedade IsCookieless.

É SessionID enviado entre o servidor e o navegador em texto claro, seja num cookie ou na URL. Como resultado, uma fonte indesejada podia aceder à sessão de outro utilizador ao obter o SessionID valor e incluí-lo nos pedidos ao servidor. Se estiver a armazenar informação privada ou sensível no estado da sessão, recomenda-se que utilize SSL para encriptar qualquer comunicação entre o navegador e o servidor que inclua o SessionID.

Ao usar estado de sessão baseado em cookies, ASP.NET não aloca armazenamento para dados de sessão até que o objeto Session seja utilizado. Como resultado, é gerado um novo ID de sessão para cada pedido de página até que o objeto de sessão seja acedido. Se a sua aplicação exigir um ID de sessão estático para toda a sessão, pode implementar o Session_Start método no ficheiro Global.asax da aplicação e armazenar dados no Session objeto para corrigir o ID da sessão, ou pode usar código noutra parte da sua aplicação para armazenar explicitamente os dados no Session objeto.

Se a sua aplicação usar o estado de sessão sem cookies, o ID da sessão é gerado na primeira vista de página e mantém-se durante toda a sessão.

Aplica-se a

Ver também