Jak mezipaměti ASP.NET pomocí jazyka .NET

Překlady článku Překlady článku
ID článku: 811431 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento podrobný článek popisuje způsoby řízení jak ASP.NET ukládá objekty data a webových stránek. Ukládání do mezipaměti, můžete zabránit znovu vytvářet informace při provádění vyšší požadavky. Ukládání do mezipaměti je důležité techniky pro vytváření vysokého výkonu a škálovatelný server aplikací. První požadavek na stránku můžete ukládat data objekty, stránky nebo části stránky v paměti. Tyto položky můžete ukládat na serveru WWW, proxy server nebo prohlížeče.

Další informace

ASP.NET poskytuje pohodlný metody řízení ukládání do mezipaměti. Direktivu @ OutputCache lze použít k řízení výstup stránky mezipaměti ASP.NET. Třída HttpCachePolicy použít k uložení libovolného objekty, například datasets do paměti serveru. V aplikacích, například prohlížeč klienta, serveru proxy a Internetová informační služba (IIS) můžete ukládat do mezipaměti. Pomocí záhlaví HTTP Cache-Control můžete řídit ukládání do mezipaměti.

Další informace o ukládání do mezipaměti ASP.NET výstup klepněte na následující číslo článku databáze Microsoft Knowledge Base:
308516Jak řídicí stránku výstupní mezipaměť ASP.NET pomocí jazyka .NET

Stránky ASP.NET mezipaměti

Pomocí programu Visual Basic .NET nebo Visual C# .NET můžete mezipaměti pomocí direktivy @ OutputCache nebo programově prostřednictvím kódu. Direktiva @ OutputCache obsahuje atribut Location. Tento atribut určuje umístění pro položku v mezipaměti. Je možné zadat jednu z následujících umístění:
  • Žádné - to výstupní mezipaměti ukládá v prohlížeči uživatele, na serveru proxy (nebo na libovolný server), který je použit v požadavku nebo na serveru, kde je požadavek zpracovat. Ve výchozím libovolný vybrána.
  • Klient - to výstupní mezipaměti ukládá v prohlížeči klienta.
  • Downstream - to výstupní mezipaměti ukládá v jakékoli zařízení podporující mezipaměti (jiné než server původ), které účast v požadavku.
  • Server - to ukládá výstupní mezipaměti na serveru.
  • Žádný - tato vypíná výstupní mezipaměti.

V následujícím seznamu jsou uvedeny ukázky kódu pro direktivu @ OutputCache a ekvivalentní programový kód.
  • K uložení výstupní mezipaměti zadaná doba trvání

    Deklarativní díky přístupu:
    <%@ OutputCache Duration="60" VaryByParam="None" %>

    Díky programového přístupu:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
  • K uložení výstupní mezipaměti prohlížeče klienta, kde pochází požadavek

    Deklarativní díky přístupu:
    <%@ OutputCache Duration="60" Location="Client" VaryByParam="None" %>

    Díky programového přístupu:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Private)
    
  • K uložení výstupní mezipaměti na jakékoli zařízení podporující mezipaměti HTTP 1.1 včetně serverů proxy a klienta, který zadal požadavek

    Deklarativní díky přístupu:
    <%@ OutputCache Duration="60" Location="Downstream" VaryByParam="None" %>

    Díky programového přístupu:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
    Response.Cache.SetNoServerCaching()
  • K uložení výstupní mezipaměti na serveru WWW

    Deklarativní díky přístupu:
    <%@ OutputCache Duration="60" Location="Server" VaryByParam="None" %>

    Díky programového přístupu:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Server)
    
  • Do mezipaměti výstupu pro každý požadavek HTTP, které přichází s jiné město

    Deklarativní díky přístupu:
    <%@ OutputCache duration="60" varybyparam="City" %>
    

    Díky programového přístupu:
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
    Response.Cache.VaryByParams("City") = true
    
    Pro atribut VaryByCustom, atribut VaryByHeader a atribut VaryByParam v direktivě @ OutputCacheHttpCachePolicy třída poskytuje vlastnost VaryByHeaders a VaryByParams vlastnost a metodu SetVaryByCustom.

Vypnout klienta a mezipaměti proxy

Výstupní mezipaměti stránky ASP.NET Web na umístění klienta a na umístění proxy vypnout, nastavte hodnotu atributu umístěnínone a nastavte hodnotu VaryByParam na none v direktivě @ OutputCache. Použít následující ukázky kódu vypnout klienta a ukládání do mezipaměti serveru proxy.
  • Deklarativní díky přístupu:
    <%@ OutputCache Location="None" VaryByParam="None" %>
  • Díky programového přístupu:
    Response.Cache.SetCacheability(HttpCacheability.NoCache)

Spuštění libovolného objekty server paměti do mezipaměti

Technologie ASP.NET obsahuje výkonný a snadno mezipaměti mechanismus, který můžete použít k uložení objektů, které vyžadují mnoho prostředků serveru vytvořit v paměti. Třída mezipaměti implementuje tuto metodu. Instance jsou soukromé jednotlivých aplikací a doby platnosti je vázána k odpovídající aplikace. Mezipaměti libovolné objekty v ASP.NET pomocí třídy mezipaměť, postupujte takto:
  1. Vytvořit novou webovou aplikaci ASP.NET pomocí Visual Basic .NET.
  2. Ve výchozím nastavení je vytvořen WebForm1.aspx.
  3. V zobrazení HTML WebForm1.aspx nahradit existující kód následující vzorový kód:
    <%@ 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>
    Poznámka nahradit hodnoty pro ServerName, UID a PWD v ukázkovém kódu pro objekt SqlConnection název serveru SQL, ID uživatele a heslo.
  4. V nabídce Debug klepněte na tlačítko Start spustit aplikaci.

    Poznámka: Při restartování aplikace je znovu vytvoří objekt mezipaměť.

Odkazy

Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
234067Jak v aplikaci Internet Explorer zabránit ukládání do mezipaměti
247404Změna záhlaví HTTP Cache-Control používání IIS
311006Jak zabránit webové mezipaměti v systému Windows 2000
247389IIS: Jak zakázat mezipaměť typy MIME specifické
313561Jak nastavit záhlaví HTTP pro obsah platnosti IIS


Další informace naleznete na následujícím webu společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx


Vlastnosti

ID článku: 811431 - Poslední aktualizace: 31. května 2007 - Revize: 3.6
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Klíčová slova: 
kbmt kbhowtomaster kbdatabinding kbcaching kbwebforms kbinfo KB811431 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:811431

Dejte nám zpětnou vazbu

 

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