@ OutputCache
Deklarativně ovládá politiku mezipaměti výstupu stránky technologie ASP.NET nebo uživatelského ovládacího prvku obsaženého ve stránce. Další informace o výstupní mezipaměti naleznete v tématu Ukládání do mezipaměti ASP.NET.
<%@ OutputCache Duration="#ofseconds"
Location="Any | Client | Downstream | Server | None |
ServerAndClient "
Shared="True | False"
VaryByControl="controlname"
VaryByCustom="browser | customstring"
VaryByHeader="headers"
VaryByParam="parametername"
VaryByContentEncoding="encodings"
CacheProfile="cache profile name | ''"
NoStore="true | false"
SqlDependency="database/table name pair | CommandNotification"
ProviderName="Provider Name"
%>
v případě vícehodnotových atributů
Duration
Čas v sekundách, po který je stránka nebo uživatelský ovládací prvek uložen do mezipaměti. Nastavení tohoto atributu u stránky nebo uživatelského ovládacího prvku stanoví zásady ukončení platnosti pro odpovědi protokolu HTTP od objektů a automaticky bude ukládat do mezipaměti výstup stránky nebo uživatelského ovládacího prvku.Poznámka Tento atribut je vyžadován.Pokud jej nevložíte, dojde k chybě analyzátoru.
Location
Jedna z následujících výčtových hodnot OutputCacheLocation: Výchozí je Any.Poznámka Tento atribut není podporován pro direktivy @ OutputCache obsažené v uživatelských ovládacích prvcích (soubory ASCX).
CacheProfile
Název nastavení mezipaměti přidruženého ke stránce. Toto je nepovinný atribut a výchozí nastavení je prázdný řetězec ("").Poznámka Tento atribut není podporován pro direktivy @ OutputCache obsažené v uživatelských ovládacích prvcích (soubory ASCX).Pokud je na stránce specifikován, musí hodnota odpovídat názvu jedné z dostupných položek v elementu outputCacheProfiles oddílu outputCacheSettings.Pokud název neodpovídá položce profilu, je vyvolána výjimka.
NoStore
Logická hodnota, která určuje, zda chcete zabránit sekundárnímu úložišti citlivých informací.Poznámka Tento atribut není podporován pro direktivy @ OutputCache obsažené v uživatelských ovládacích prvcích (soubory ASCX).Nastavení tohoto atributu na hodnotu true je ekvivalentní následujícímu kódu provedeného během žádosti:
Response.Cache.SetNoStore();
ProviderName
Řetězcová hodnota identifikuje vlastní zprostředkovatele na použité výstupní mezipaměti. Další informace naleznete poznámky části tohoto tématu a položka Extensible výstupní mezipaměti prostředí ASP.NET 4 (VS 2010 a.ČISTÁ řady 4.0) na blogu Scott GuthriePoznámka Tento atribut je podporován pouze v uživatelských ovládacích prvků (soubory ASCX).To není podporována pro @ OutputCache směrnic, které jsou součástí prostředí ASP.ČISTÉ stránky (soubory ASPX).
Shared
Logická hodnota, která určuje, zda výstup uživatelského ovládacího prvku může být sdílen více stránkami. Výchozí je false. Další informace naleznete v části Poznámky.Poznámka Tento atribut není podporován pro direktivy @ OutputCache obsažené ve stránkách technologie ASP.NET (ASPX soubory).
SqlDependency
Řetězec, který identifikuje sadu dvojic databáze a tabulky, na které závisí výstupní mezipaměť stránky nebo ovládacího prvku. Všimněte si, že třída SqlCacheDependency sleduje tabulku v databázi, na které závisí výstupní mezipaměť tak, že při aktualizaci položek v tabulce jsou v případě použití cyklického dotazování tyto položky odebrány. Při použití oznámení (v Microsoft SQL Server 2005) s hodnotou CommandNotification, je nakonec použita třída SqlDependency pro registraci oznamování dotazů se serverem SQL Server 2005.Poznámka Hodnota CommandNotification atributu SqlDependency je platná pouze pro webové stránky (ASPX).Uživatelské ovládací prvky mohou použít pouze cyklické dotazování s direktivou @ OutputCache.
VaryByCustom
Jakýkoli text, který představuje vlastní požadavky na výstupní mezipaměť. Pokud je tomuto atributu přiřazena hodnota browser, mění se mezipaměť podle názvu prohlížeče a informace o hlavní verzi. Pokud je zadán vlastní řetězec, je nutné přepsat metodu GetVaryByCustomString v souboru Global.asax dané aplikace.VaryByHeader
Seznam oddělený středníky obsahující záhlaví protokolu HTTP použité k odlišení výstupní mezipaměti. Pokud je tento atribut nastaven na více záhlaví, obsahuje výstupní mezipaměť různé verze požadovaného dokumentu pro každou kombinaci zadaného záhlaví.Poznámka Nastavení atributu VaryByHeader umožňuje ukládání položek do mezipaměti ve všech verzích vyrovnávací paměti protokolu HTTP verze 1.1, ne jenom pro vyrovnávací paměť ASP.NET.Tento atribut není v uživatelských ovládacích prvcích podporován pro direktivu @ OutputCache.
VaryByParam
Seznam oddělený středníky obsahující řetězce použité k odlišení výstupní mezipaměti. Ve výchozím nastavení odpovídají tyto řetězce hodnotě dotazovacího řetězce odeslaným s atributy metody GET, nebo parametru odeslanému pomocí metody POST . Pokud je tento atribut nastaven na více parametrů, obsahuje výstupní mezipaměť různé verze požadovaného dokumentu pro každou kombinaci zadaných parametrů. Přípustné hodnoty zahrnují none, hvězdičku (*) a jakýkoli dotazovací řetězec nebo název parametru POST.Upozornění V případě použití direktivy @ OutputCache na stránce ASP.NET nebo v uživatelském ovládacím prvku, je požadován buď tento atribut, nebo atribut VaryByControl.K chybě analyzátoru dochází, pokud se jej nepodaří zahrnout.Pokud nechce specifikovat parametr pro obměnu obsahu mezipaměti, nastavte hodnotu none.Pokud chcete měnit výstupní mezipaměť všemi hodnotami parametru, nastavte atribut na hvězdičku (*).
VaryByControl
Seznam oddělený středníky obsahující řetězce použité k rozlišení výstupní mezipaměti uživatelského ovládacího prvku. Tyto řetězce představují hodnoty vlastnosti ID serverových ovládacích prvků technologie ASP.NET deklarované v uživatelském ovládacím prvku. Další informace naleznete v tématu Uložení částí stránky technologie ASP.NET v mezipaměti.Poznámka V případě použití direktivy VaryByParam na stránce ASP.NET nebo v uživatelském ovládacím prvku, je požadován buď tento atribut, nebo atribut @ OutputCache.
VaryByContentEncodings
Seznam oddělený středníky obsahující řetězce použité k odlišení výstupní mezipaměti. Atribut VaryByContentEncodings je použit s hlavičkou Accept-Encoding pro zjištění, jak jsou odpovědi mezipaměti vydávány pro různá kódování obsahu. Další informace o zadání Accept-Encoding záhlaví, naleznete v části 14.3 Hypertext Transfer Protocol--HTTP/1.1 specifikace W3C webu.
Poznámky
Nastavení hodnot výstupní mezipaměti stránky je stejné jako manipulace s metodami SetExpires and SetCacheability prostřednictvím vlastnosti Cache.
Pokud stránka Webových formulářů vyžaduje ověření, aby byla zobrazena uživateli, nastaví výstupní mezipaměť hlavičku protokolu HTTP Cache-Control na private. Další informace o těchto tématech naleznete v tématu Použití mezipaměti stránek technologie ASP.NET.
Pokud je nastaven atribut Shared na true, může být výstup ovládacího prvku v mezipaměti zpřístupněn více stránkám webových formulářů. Není-li nastaven na true, ukládá se ve výchozím nastavení jedna verze výstupu uživatelského ovládacího prvku pro každou stránku obsahující tento ovládací prvek. Můžete potenciálně ušetřit značné množství paměti tím, že povolíte atribut Shared. Další informace naleznete v tématu Uložení částí stránky technologie ASP.NET v mezipaměti.
Příklad
Následující příklad kódu ukazuje, jak lze nastavit dobu trvání, po jakou je výstup ovládacího prvku nebo uživatelského ovládacího prvku ukládán do mezipaměti.
<%@ OutputCache Duration="100" VaryByParam="none" %>
Další příklad kódu ukazuje, jak můžete určit, aby výstup mezipaměti ukládal do mezipaměti stránku nebo uživatelský ovládací prvek podle jeho umístění a počtu parametrů formuláře z metody POST nebo z řetězce dotazu. Každá žádost protokolu HTTP přicházející z jiného umístění nebo s jiným počtem parametrů (nebo obojí) je uložena do mezipaměti na dobu deseti sekund. Jakékoli následné požadavky se stejnými hodnotami parametrů jsou obslouženy z mezipaměti, dokud položka nevyprší.
<%@ OutputCache Duration="10" VaryByParam="location;count" %>
Viz také
Odkaz
Syntaxe šablony textu směrnice
Koncepty
Přehled mezipaměti technologie ASP.NET
Použití mezipaměti stránek technologie ASP.NET