Artigo: 899918 - Última revisão: sexta-feira, 8 de Setembro de 2006 - Revisão: 1.3 Como e porquê os IDs de sessão são reutilizados no ASP.NET
INTRODUÇÃOEste artigo descreve como e porquê os IDs de sessão de Microsoft ASP.NET são utilizados. Mais InformaçãoO estado de sessão do ASP.NET é uma tecnologia que permite-lhe armazenar dados do lado do servidor, específicas do utilizador. As aplicações de Web podem utilizar estes dados para processar pedidos do utilizador para o qual o estado da sessão foi instanciado. Um utilizador de estado de sessão é identificado por um ID de sessão. O ID da sessão é fornecido, utilizando um dos seguintes métodos:
Quando um utilizador abre o browser da Web pela primeira vez e, em seguida, vai para um Web site que implementa o estado de sessão do ASP.NET, um cookie é enviado para o browser com o nome "ASP.NET_SessionId" e um valor de 20 caracteres. Quando o utilizador navega no mesmo domínio DNS, o navegador da Web continua a enviar este cookie para o domínio para o qual foi originado. Por exemplo, app1.tailspintoys.com e app2.tailspintoys.com são ambas as aplicações do ASP.NET. Se o utilizador vai para app1.tailspintoys.com e, em seguida, vai para app2.tailspintoys.com, ambas as aplicações para controlar o estado da sessão do utilizador dentro de cada aplicação utilize o mesmo cookie e o mesmo ID de sessão. As aplicações não partilham o mesmo estado da sessão. As aplicações partilham apenas o ID da sessão. Por conseguinte, pode reutilizar IDs de sessão por diversas razões. Por exemplo, se reutilizar IDs de sessão, não é necessário que efectuar o seguinte:
Quando utiliza o modo de estado de sessão no processo, estes objectos de estado de sessão são armazenados na HttpCache. O HttpCache suporta um método de chamada de retorno quando se verificam as seguintes condições:
Quando abandonar uma sessão, o cookie do ID de sessão não é removido o browser do utilizador. Por conseguinte, assim que a sessão foi abandonada, quaisquer novos pedidos para a mesma aplicação irão utilizar o mesmo ID da sessão mas terão de uma instância de estado da nova sessão. Ao mesmo tempo, se o utilizador abrir outra aplicação de DNS mesmo domínio, o utilizador não perderá o estado de sessão depois do método Abandon é chamado a partir de uma aplicação. Por vezes, não poderá reutilizar o ID da sessão. Se efectuar e se compreender as consequências da não reutilizar o ID da sessão, utilize o seguinte exemplo de código para abandonar uma sessão e para limpar o cookie do ID de sessão: Quando um utilizador não regista da aplicação e o tempo limite estado da sessão ocorre, a aplicação pode ainda utilizar o mesmo estado cookie da sessão se não fechar o browser. Este comportamento faz com que o utilizador será direccionado para a página de início de sessão e o cookie de estado de sessão do utilizador para ser apresentado. Para garantir que é utilizado um ID de sessão de novo quando abre a página de início de sessão (login.aspx), envia um cookie nulo ao cliente. Para isso, adiciona um cookie a colecção de resposta. Em seguida, envia a colecção de resposta para o cliente. A forma mais fácil de enviar um cookie nulo é utilizando o método Response.Redirect . Porque a colecção de cookies sempre tem um valor para o ASP.NET_SessionId, não poderá testar apenas se este cookie existe porque vai criar um ciclo de Response.Redirect . Pode definir uma cadeia de consulta de redireccionamento para a página de início de sessão. Ou, conforme ilustrado no seguinte exemplo de código, pode utilizar um cookie diferente para indicar se o já são redireccionados para a página de início de sessão. Para ajudar a melhorar a segurança e para se certificar de que ninguém está a tentar abrir a página de início de sessão utilizando um segundo cookie juntamente com o cookie do ASP.NET, o exemplo de código seguinte utiliza a classe FormsAuthentication para encriptar e desencriptar os dados de cookie. Em seguida, o exemplo de código define um tempo limite de 5 segundos. privada
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 899918
(http://support.microsoft.com/kb/899918/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar ao topo