Como cache no ASP.NET usando o Visual Basic .NET

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: 811431
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 323290.
conteúdo
Sumário
Este artigo passo a passo descreve maneiras de controlar como o ASP.NET armazena páginas da Web e objetos de dados. Armazenando em cache, você evitar recriar informações quando você faz solicitações posteriores. O cache é uma técnica importante para criar aplicativos de servidor escalonáveis e de alto desempenho. Na primeira solicitação para a página, você pode armazenar objetos de dados, páginas ou partes da página na memória. Você pode armazenar esses itens no servidor Web, no servidor proxy ou no navegador.

Mais Informações
O ASP.NET fornece métodos convenientes para controlar o cache. Você pode usar a diretiva @ OutputCache para controlar a saída da página em cache no ASP.NET. Use a classe HttpCachePolicy para armazenar objetos arbitrários, como datasets, à memória do servidor. Você pode armazenar o cache em aplicativos, como o navegador do cliente, o servidor proxy e o Microsoft Internet Information Services (IIS). Usando o cabeçalho de HTTP Cache-Control, você pode controlar o cache.

Para obter informações adicionais sobre cache de saída do ASP.NET, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
308516Como saída de página de controle de armazenamento em cache no ASP.NET usando o Visual Basic .NET

Páginas do cache ASP.NET

Você pode cache usando a diretiva @ OutputCache , ou programaticamente por meio de código usando o Visual Basic .NET ou Visual translation from VPE for Csharp. NET. A diretiva @ OutputCache contém um atributo Location . Esse atributo determina o local para o item em cache. Você pode especificar um dos seguintes locais:
  • qualquer - isso armazena o cache de saída no navegador do cliente, no servidor proxy (ou qualquer outro servidor) que participa na solicitação ou no servidor onde a solicitação será processada. Por padrão, qualquer está selecionada.
  • cliente - este armazena o cache de saída no navegador do cliente.
  • Downstream - isso armazena o cache de saída em qualquer dispositivos com capacidade de cache (que não seja o servidor de origem) que participam a solicitação.
  • servidor - isso armazena o cache de saída no servidor Web.
  • Nenhum - essa desativa o cache de saída.

A seguir estão exemplos de código para a diretiva @ OutputCache e o código equivalente programático.
  • para armazenar o cache de saída para um período especificado

    Abordagem declarativa:
    <%@ OutputCache Duration="60" VaryByParam="None" %>

    Abordagem programática:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))Response.Cache.SetCacheability(HttpCacheability.Public)
  • para armazenar o cache de saída no cliente navegador que originou a solicitação

    Abordagem declarativa:
    <%@ OutputCache Duration="60" Location="Client" VaryByParam="None" %>

    Abordagem programática:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))Response.Cache.SetCacheability(HttpCacheability.Private)
  • para armazenar o cache de saída em quaisquer dispositivos capazes de cache HTTP 1.1 incluindo os servidores proxy e o cliente que fez a solicitação

    Abordagem declarativa:
    <%@ OutputCache Duration="60" Location="Downstream" VaryByParam="None" %>

    Abordagem programática:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))Response.Cache.SetCacheability(HttpCacheability.Public)Response.Cache.SetNoServerCaching()
  • para armazenar o cache de saída no servidor Web

    Abordagem declarativa:
    <%@ OutputCache Duration="60" Location="Server" VaryByParam="None" %>

    Abordagem programática:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))Response.Cache.SetCacheability(HttpCacheability.Server)
  • para armazenar em cache a saída para cada solicitação HTTP que chega com uma cidade diferente

    Abordagem declarativa:
    <%@ OutputCache duration="60" varybyparam="City" %>

    Abordagem programática:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))Response.Cache.SetCacheability(HttpCacheability.Public)Response.Cache.VaryByParams("City") = true
    Para o atributo VaryByCustom , o atributo VaryByHeader e o atributo VaryByParam na diretiva @ OutputCache , a classe HttpCachePolicy fornece a propriedade VaryByHeaders e a propriedade VaryByParams e o método SetVaryByCustom .

Desativar o cliente e cache de proxy

Para desativar o cache de saída para uma página ASP.NET, o local de cliente e o local de proxy, defina o valor de atributo de local para Nenhum e, em seguida, defina o valor VaryByParam para Nenhum na diretiva @ OutputCache . Use os exemplos de código a seguir para desativar o cliente e proxy de cache.
  • Abordagem declarativa:
    <%@ OutputCache Location="None" VaryByParam="None" %>
  • Abordagem programática:
    Response.Cache.SetCacheability(HttpCacheability.NoCache)

Armazenar em cache objetos arbitrários na memória do servidor

O ASP.NET inclui um mecanismo de cache poderoso e fácil de usar, que você pode usar para armazenar objetos que exigem muitos recursos do servidor para criar na memória. A classe de cache implementa esse método. Instâncias são particulares para cada aplicativo e o tempo de vida está vinculado ao aplicativo correspondente. Para armazenar em cache os objetos arbitrários no ASP.NET usando a classe de cache , execute estas etapas:
  1. Crie um novo aplicativo Web ASP.NET usando Visual Basic. NET.
  2. Por padrão, WebForm1.aspx é criado.
  3. No modo de exibição HTML de WebForm1.aspx , substitua o código existente com o seguinte código de exemplo:
    <%@ Import Namespace="System.Data.SqlClient" %><%@ Import Namespace="System.Data" %><HTML>	<script language="vb" runat="server">		Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)			Dim Source As DataView		'Retrieve the DataView object from the Cache class. If it does not exist, add the DataView object to the Cache class.		Source = CType(Cache("MyDataSet"), DataView)		If Source Is Nothing Then			Dim myConnection As SqlConnection = New SqlConnection("Server=ServerName; database=Pubs; user id=UID; password=PWD;")			Dim myCommand As SqlDataAdapter = New SqlDataAdapter("select * from Authors", myConnection)			Dim ds As DataSet = New DataSet()			myCommand.Fill(ds, "Authors")			Source = New DataView(ds.Tables("Authors"))			Cache("MyDataSet") = Source			CacheMsg.Text = "Dataset created explicitly"					Else						CacheMsg.Text = "Dataset retrieved from cache"		End If		' Bind the DataView object to DataGrid. 		MyDataGrid.DataSource = Source		MyDataGrid.DataBind()		End Sub	</script>	<body>		<form method="GET" runat="server" ID="Form1">	      <h3><font face="Verdana">Caching Data</font></h3>			<ASP:DataGrid id="MyDataGrid" runat="server"			Width="700"			BackColor="#ccccff"			BorderColor="black"			ShowFooter="false"			CellPadding=3			CellSpacing="0"			Font-Name="Verdana"			Font-Size="8pt"			HeaderStyle-BackColor="#aaaad" />			<p>			<i><asp:label id="CacheMsg" runat="server"/></i>	    </form>		</P>	</body></HTML>
    Observação substituir os valores para ServerName, UID e PWD no código de exemplo para o objeto SqlConnection com o nome do SQL Server, ID de usuário e senha.
  4. No menu Debug , clique em Iniciar para executar o aplicativo.

    Observação Quando você reinicia o aplicativo, o objeto em cache será recriado.
Referências
Para obter informações adicionais, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
234067Como impedir o cache no Internet Explorer
247404Como modificar o cabeçalho HTTP Cache-Control quando usa o IIS
311006Como impedir o cache de Web no Windows 2000
247389IIS: Como desativar o cache de tipos de MIME específicas
313561Como definir cabeçalhos HTTP para expiração de conteúdo no IIS


Para obter mais informações, visite o seguinte site:

Aviso: este artigo foi traduzido automaticamente

Proprietăți

ID articol: 811431 - Ultima examinare: 05/31/2007 02:46:37 - Revizie: 3.6

Microsoft ASP.NET 1.1, Microsoft ASP.NET 1.0, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbmt kbhowtomaster kbdatabinding kbcaching kbwebforms kbinfo KB811431 KbMtpt
Feedback