Como arquivo de estado em aplicações de páginas de servidor do Active Directory

Traduções de Artigos Traduções de Artigos
Artigo: 175167 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Quando desenvolver uma Web ASP (Active Server Pages) aplicação, uma forma comum de personalizar o conteúdo é armazenar informações sobre o utilizador. Existem várias formas para armazenar informações de um ASP ambiente. Este artigo listas as formas mais comuns para armazenar estado, incluindo exemplos de código e as vantagens e desvantagens de cada opção.

Mais Informação

Variáveis de aplicação e de sessão

Como funcionam?

As variáveis de sessão e de aplicação são armazenadas no servidor. Um identificador de sessão, o que é gerado no início de sessão do ASP, é um cookie de memória interna armazenado no cliente para identificar as variáveis de sessão . Como resultado, o cliente tem de ter cookies activados no browser para variáveis de sessão e de aplicação trabalhar.

Profissionais

  • Este método é fácil de implementar.
  • Pode armazenar tipos de variáveis simples e objectos (apesar de armazenamento de objectos não é recomendada).
  • Os valores que são armazenados em variáveis de sessão e de aplicação estão ocultos do utilizador.

Contras

  • Este método requer que os clientes ter cookies activados no respectivo Web browser.
  • Este método fiável não pode ser partilhado entre pacotes de um conjunto de molduras ou entre várias instâncias do browser.
  • Este método armazena informações no servidor Web. Isto diminui a escalabilidade de duas formas: variáveis de sessão e a aplicação utilizarem recursos no servidor e não podem ser utilizadas em completamente com balanceamento de carga Web Farms.

Exemplo

Definir o valor de uma variável de sessão:
<%
   'Store information in a session variable.
   Session("myInformation") = "somevalue"
%>
				
obter o valor da variável de sessão:
<%
    'Retrieve the information stored in the session variable.
    myValue = Session("myInformation")
%>
				

Cookies

Como funcionam?

Existem dois tipos de cookies: os cookies de na memória e os cookies que estão armazenados no disco do cliente. Um cookie de memória interna é uma ou mais pares nome / valor são armazenadas na memória do browser até que o browser é fechado. Um cookie é armazenado para disco é um ficheiro no computador do cliente que contém pares nome / valor.

Os cookies podem definir e obtidos código lado do cliente e do lado do servidor.

Profissionais

  • Este método é fácil de implementar.
  • Este método pode ser guardado no disco para utilização futura (baseado em disco cookie) definindo simplesmente uma data de expiração no cookie. Isto permite armazenamento entre sessões do browser.

Contras

  • O cliente pode modificar manualmente os cookies que estão armazenados no disco.
  • Este método requer que os clientes ter cookies activados no respectivo Web browser.
  • Os cookies não é possível guardar objectos.

Exemplo

Armazenar informações num cookie:
<%
   'Set a cookie value.
   Response.Cookies("myInformation") = "somevalue"
   'Expire the cookie to save it to disk. If this is omitted, the cookie
   'will be an in-memory cookie. In this case, the cookie is set to expire
   'in twenty days.
   Response.Cookies("myInformation").Expires = now() + 20
%>
				
obter o valor de um cookie:
<%
    'Retrieve the information that is stored.
    myValue = Request.Cookies("myInformation")
%>
				

Campos de formulário ocultos

Como funcionam?

Cada página necessita de um formulário com campos de formulário ocultos que contêm as informações de estado. Em vez de ligar e redireccionar a páginas, o formulário é submetido quando um utilizador navega para uma página diferente.

Profissionais

  • Este método não requer cookies.

Contras

  • Pode ser complicado para redireccionar e contém hiperligações para páginas.
  • Este método não é possível guardar objectos.

Exemplo

Armazenar informações em campos ocultos:
<HTML>
<HEAD>
<SCRIPT LANGUAGE=javascript>
  //Function that is used to submit the links:
  function browseToUrl(url){
    form1.action=url;
    form1.submit();
  }
</SCRIPT>
</HEAD>
<BODY>

<%
  dim myInformation
  myInformation = "somevalue"  
%>

<!-- This stores the value that is set above in the hidden form field. -->
<FORM id="form1" name="form1" action="" method="post">
<INPUT type="hidden" id="myInformation" name="myInformation" value="<%= myInformation%>">  

<!-- Navigation sample that uses this technique. -->
<INPUT type="button" value="p3.asp" id=button1 name=button1 onclick='goToUrl("p3.asp");'>
</FORM>
</BODY>
</HTML>
				
obter o valor do campo de formulário ocultos:
<%
    'Retrieving the information that is stored.
    myValue = Request.Form("myInformation")
%>
				

QueryString

Como funciona?

Quando utiliza o conjunto QueryString , as variáveis são armazenadas no URL como um par nome-valor. Por exemplo:
http://servername/page.asp?var1=value1&var2=value2&var3=value3
				
Nota : pares nome / valor são separados por um "e" comercial (&).

Profissionais

  • Se o cliente bookmarks a página, irá manter o estado.

Contras

  • O URL completo só pode ser 2083 bytes.
  • Este método não é possível guardar objectos.
  • O URL é muito longa e difícil de ler.

Exemplo

Armazenar informações de QueryString:
<HTML>
<HEAD></HEAD>
<BODY>
<%
   'Function that assembles the QueryString:
   function AddToQueryString(qs, name, value)
     
     if qs="" then
       qs = name & "=" & value
     else
       qs = qs & "&" & name & "=" & value
     end if
     
     addToQueryString = qs
   end function

   dim querystring

   'Store the first value.
   querystring = AddToQueryString(querystring, "firstvar", "firstvalue")
   'Store the second value.
   querystring = AddToQueryString(querystring, "secondvar", "secondvalue")
%>

<a href="urlreceive.asp?<%=querystring%>">urlreceive.asp</a>
</BODY>
</HTML>
				
obter os valores a partir de QueryString:
<%
    'Retrieve the information stored.
    myFirstValue = Request.QueryString("firstvar")
    mySecondValue = Request.QueryString("secondvar")
%>
				

Ficheiro e da base de dados

Como funcionam?

Pode implementar esta técnica de muitas formas diferentes. Os seguintes passos ilustram uma forma de implementar os ficheiros e armazenamento de base de dados do estado:
  1. Gera um ID quando o utilizador inicia sessão pela primeira vez ou browses para uma página na aplicação.
  2. Utilize um das técnicas neste artigo para armazenar o ID.
  3. Para armazenar os valores num ficheiro, utilize o ID como o nome de ficheiro. Para armazenar os valores numa base de dados, utilize uma combinação do ID e o par nome / valor para identificar o registo.
  4. Opcionalmente, armazene um carimbo de data/hora com o par nome-valor na base de dados. Para ficheiros, pode utilizar a hora da última revisão.
  5. Escreva um serviço para efectuar a limpeza (eliminação registos e ficheiros) em determinados intervalos (por exemplo, a cada 20 minutos ou todas as noites, com base no quantos utilizadores acederem ao site). O serviço pode utilizar a marca de hora para determinar se um registo expirou.

Profissionais

  • Os valores estão completamente ocultos do utilizador.
  • Se utilizar uma partilha de ficheiros ou uma base de dados, pode ser utilizado para simular variáveis da sessão no Web Farm.
  • Não necessita de cookies.

Contras

  • Armazena dados do lado do servidor.
  • Pode ser complicado para implementar.
  • Este método pode ser lento, porque é necessário acesso da base de dados e ficheiro para armazenar e obter os valores.

Referências

Para mais informações, consulte os seguintes artigos na Microsoft Developer Network (MSDN):
objeto Session
http://msdn2.microsoft.com/en-us/library/aa371675.aspx

objecto de aplicação
http://msdn2.microsoft.com/en-us/library/aa210897(office.11).aspx

cookies
Response.Cookies Collection
Request.Cookies Collection

QueryString
http://msdn2.microsoft.com/en-us/library/aa196462(office.11).aspx
Para obter informações adicionais, clique nos números de artigo existentes abaixo para visualizar os artigos na Microsoft Knowledge Base:
244465Como desactivar estado da sessão ASP em Active Server Pages
178037PROBLEMA: Sessão variáveis perdem-se ao ASP está localizado no conjunto de molduras
Para os mais recentes artigos da Knowledge Base e outras informações de suporte no Visual InterDev e Active Server Pages, consulte a seguinte página no site de suporte técnico da Microsoft:
http://support.microsoft.com/search/default.aspx?qu=vinterdev

Propriedades

Artigo: 175167 - Última revisão: 9 de março de 2007 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft Active Server Pages 4.0
Palavras-chave: 
kbmt kbaspobj kbcodesnippet kbhowto kbscript KB175167 KbMtpt
Tradução automática
IMPORTANTE: 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: 175167
Exclusão de Responsabilidade para Conteúdo sem Suporte na KB
Este artigo foi escrito sobre produtos para os quais a Microsoft já não fornece suporte. Por conseguinte, este artigo é oferecido "tal como está" e deixará de ser actualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com