DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 175167 - Última revisão: sexta-feira, 9 de março de 2007 - Revisão: 3.1

 

Nesta página

Sumário

Quando você desenvolver um Web Active Server Pages (ASP) uma maneira comum para personalizar o conteúdo do aplicativo, é armazenar informações sobre o usuário. Há várias maneiras para armazenar informações em um ASP ambiente. Esta lista de artigo as maneiras mais comuns de armazenar estado, incluindo código de exemplo e os prós e contras de cada opção.

Mais Informações

Sessão e variáveis de aplicativo

Como eles funcionam?

As variáveis de sessão e aplicativo são armazenadas no servidor. Uma identificação de sessão, que é gerada no início de uma sessão ASP, é um cookie na memória que armazenados no cliente para identificar as variáveis de sessão . Como resultado, o cliente deve ter cookies ativados no navegador para variáveis de sessão e aplicativo para trabalhar.

Profissionais

  • Esse método é fácil de implementar.
  • Você pode armazenar tipos de variáveis simples e objetos (embora não é recomendável armazenar objetos).
  • Os valores que são armazenados em variáveis de sessão e aplicativo ficam ocultos do usuário.

Desvantagens

  • Este método requer clientes tem cookies ativados no navegador da Web.
  • Esse método confiável não pode ser compartilhado entre quadros em um conjunto de quadros ou em várias instâncias do navegador.
  • Esse método armazena informações no servidor Web. Isso diminui a escalabilidade de duas maneiras: variáveis de sessão e aplicativo usar recursos no servidor e não pode ser usados em farms de Web de sua carga balanceada completamente.

Exemplo

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

Cookies

Como eles funcionam?

Há dois tipos de cookies: os cookies na memória e cookies que são armazenados em disco do cliente. Um cookie na memória é um ou mais pares nome-valor que são armazenados na memória do navegador até o navegador for fechado. Um cookie é armazenado para disco é um arquivo no computador do cliente que contém pares nome-valor.

Cookies podem ser definidos e recuperados do código do lado do cliente e lado do servidor.

Profissionais

  • Esse método é fácil de implementar.
  • Esse método pode ser salvo em disco para uso futuro (baseado em disco cookie) simplesmente definindo uma data de expiração no cookie de. Isso permite que o armazenamento entre sessões do navegador.

Desvantagens

  • O cliente pode modificar manualmente os cookies são armazenados em disco.
  • Este método requer clientes tem cookies ativados no navegador da Web.
  • Os cookies não podem armazenar objetos.

Exemplo

Armazenar informações em um 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
%>
				
recuperar o valor de um cookie:
<%
    'Retrieve the information that is stored.
    myValue = Request.Cookies("myInformation")
%>
				

Campos de formulário ocultos

Como eles funcionam?

Cada página precisa de um formulário com campos de formulário ocultos que contêm as informações de estado. Em vez de vinculação e redirecionando para páginas, o formulário é enviado quando um usuário navega para uma página diferente.

Profissionais

  • Esse método não exige cookies.

Desvantagens

  • Pode ser inconveniente para redirecionar e links para páginas.
  • Esse método não pode armazenar objetos.

Exemplo

Armazenar informações em campos ocultos:
<HTML>
<HEAD>
<SCRIPT LANGUAGE=javascript>
  //Function that is used to submit the links:
  function browseToUrl(http://services.support.microsoft.com/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>
				
recuperar o valor do campo de formulário oculto:
<%
    'Retrieving the information that is stored.
    myValue = Request.Form("myInformation")
%>
				

QueryString

Como funciona?

Quando você usar a coleção QueryString , as variáveis são armazenadas na URL como um par nome-valor. Por exemplo:
http://servername/page.asp?var1=value1&var2=value2&var3=value3
				
Observação : pares nome-valor são separados por um e comercial (&).

Profissionais

  • Se o cliente indicadores a página, o estado serão mantidas.

Desvantagens

  • A URL completa só pode ser 2083 bytes.
  • Esse método não pode armazenar objetos.
  • A URL é muito longa e difícil de ler.

Exemplo

Armazenar informações em 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>
				
recuperar os valores de QueryString:
<%
    'Retrieve the information stored.
    myFirstValue = Request.QueryString("firstvar")
    mySecondValue = Request.QueryString("secondvar")
%>
				

Arquivo e o banco de dados

Como eles funcionam?

Você pode implementar essa técnica de muitas maneiras diferentes. As etapas a seguintes ilustram uma maneira de implementar o arquivo e armazenamento de banco de dados de estado:
  1. Gere uma identificação quando o usuário fizer logon pela primeira vez ou navega para uma página dentro de seu aplicativo.
  2. Use qualquer uma das técnicas deste artigo para armazenar a identificação.
  3. Para armazenar os valores em um arquivo, use a identificação como nome do arquivo. Para armazenar os valores em um banco de dados, use uma combinação da identificação e o par nome-valor para identificar o registro.
  4. Opcionalmente, armazene um carimbo de data/hora com o par nome-valor no banco de dados. Para arquivos, você pode usar o carimbo de hora da última revisão.
  5. Escreva um serviço para executar limpeza (excluir registros e arquivos) em determinados intervalos (por exemplo, a cada 20 minutos ou a todas as noites, com base em quantos usuários acessam o site). O serviço pode utilizar o carimbo de data/hora para determinar se um registro expirou.

Profissionais

  • Os valores estão completamente ocultos do usuário.
  • Se você usar um compartilhamento de arquivo ou um banco de dados, isso pode ser usado para simular variáveis de sessão em um Web Farm.
  • Ele não requer cookies.

Desvantagens

  • Ele armazena dados no lado do servidor.
  • Pode ser complicado a implementar.
  • Esse método pode ser lento porque o acesso a banco de dados e arquivos é necessária para armazenar e recuperar os valores.

Referências

Para obter mais informações, consulte os seguintes artigos no Microsoft Developer Network (MSDN):
objeto de sessão
http://msdn2.microsoft.com/en-us/library/aa371675.aspx (http://msdn2.microsoft.com/en-us/library/aa371675.aspx)

objeto de aplicativo
http://msdn2.microsoft.com/en-us/library/aa210897(office.11).aspx (http://msdn2.microsoft.com/en-us/library/aa210897(office.11).aspx)

cookies
Response.Cookies Collection (http://msdn2.microsoft.com/en-us/library/ms524757.aspx)
Request.Cookies Collection (http://msdn2.microsoft.com/en-au/library/ms525394.aspx)

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

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áticaTraduçã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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 175167  (http://support.microsoft.com/kb/175167/en-us/ )
Retired KB ArticleAviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store