Jak řídicí stránku výstupní mezipaměť ASP.NET pomocí Visual C# .NET

Překlady článku Překlady článku
ID článku: 308375 - 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 článek demonstruje řízení mezipaměti ASP.NET s Visual C# .NET výstup stránky pomocí direktivy @ OutputCache. Tento postup slouží k mezipaměti nejčastěji přistupovat stránky vašeho webu, které může podstatně zvýšit propustnost serveru WWW. Propustnost je měřena běžně v požadavky za sekundu. Ačkoli v tomto článku ukázkový kód demonstruje použití trvání a atributy VaryByParam, článku obsahuje také stručný popis dalších přístupy pomocí direktivy @ OutputCache.

Poznámka: není záměrem tohoto článku popisují všechny atributy direktiva @ OutputCache a jejich možných používá podrobně. Další informace naleznete References oddílu.


Požadavky

  • Microsoft Windows 2000 nebo Windows XP
  • Rozhraní Microsoft .NET framework
  • Microsoft Internet Information Server (IIS)
  • Microsoft ASP.NET

Úvod k @ OutputCache direktiva

Použít direktivu @ OutputCache řízení ukládání do mezipaměti výstupu stránky, je jednoduše přidat direktivu k horní části stránky. Metoda Page.InitOutputCache přeloží direktivu metody třídy HttpCachePolicy.

Direktiva @ OutputCache obsahuje následující atributy a nastavení:
  • Trvání: Tento atribut určuje, jak dlouho je položka v mezipaměti uchováno. Hodnota trvání je uveden v sekundách.
  • VaryByParam: Tento atribut určuje položky mezipaměti parametry načíst nebo Post. Například pokud QueryString proměnnou s názvem testVal je nastaven pro atribut VaryByParam, je každý požadavek stránku, která obsahuje jinou hodnotu testVal uložené v samostatné stránce. Syntaxe atributu VaryByParam ilustruje následující kód:
    <%@ OutputCache Duration="Seconds" VaryByParam="testVal"%>
    						
    Poznámka: (hvězdička) je možné zadat tak, aby všechny různé verze položky jsou uloženy v mezipaměti. Také můžete určit "žádný" Pokud pouze jednu verzi mezipaměti zboží existuje.
  • Umístění: Tento atribut určuje, kde je položka ukládány do mezipaměti. Můžete zadat následující umístění:
    • Libovolný
    • Klient
    • Příjem
    • Server
    • Žádný

    Syntaxe atributu Location ilustruje následující kód:
    <%@ OutputCache Duration="Seconds" Location="Client" %>
    					
  • VaryByCustom: Tento atribut obsahuje výchozí nastavení prohlížeče, což znamená jinou instanci položky v mezipaměti pro každou verzi prohlížeče požádá. Například obě aplikace Internet Explorer 5 a Internet Explorer 5.5 požadavku položky. Při nastavení VaryByCustomprohlížeče existuje položka mezipaměti pro každou verzi prohlížeče. Nelze poskytnout řetězec řízení ukládání do mezipaměti pro další vlastní scénáře. Řetězec nemá žádné význam nezadáte kód přepište metodu HttpApplication.GetVaryByCustomString v souboru Global.asax.

    Syntaxe atributu VaryByCustom ilustruje následující kód:
    <%@ OutputCache Duration="Seconds" VaryByCustom="string" %>
    					
  • VaryByHeader: Tento atribut umožňuje určit hodnotu konkrétní záhlaví HTTP jako kritéria pro určení položky různých mezipaměti. Syntaxe atributu VaryByHeader ilustruje následující kód:
    <%@ OutputCache Duration="60" VaryByHeader="Accept-Language" %>
    					

Kroky vytvoření ukázkových trvání OutputCache @

Následující kroky ukazují, jak pomocí atributu trvání pro ukládání do mezipaměti zadejte jak dlouho výstup stránky mezipaměti položky.
  1. Vytvořit nový projekt jazyka webovou aplikaci ASP.NET následujícím způsobem:
    1. Otevřete Visual Studio .NET.
    2. V nabídce soubor přejděte na příkaz Nový a klepněte na příkaz projekt.
    3. V dialogovém okně Nový projekt klepněte v části Typy projektuVisual C# projekty a klepněte na Webovou aplikaci ASP.NET v části šablony. V textovém poli název zadejte OutputCacheDemo a potom klepněte na tlačítko OK.
  2. Vytvořit novou stránku ASPX v aplikaci Visual Studio .NET následujícím způsobem:
    1. V aplikaci Solution Explorer klepněte pravým tlačítkem na uzel projektu, klepněte na tlačítko Přidat a potom klepněte na tlačítko Přidat webový formulář.
    2. V textovém poli název zadejte OutputCacheDuration.aspx a potom klepněte na tlačítko Otevřít.
  3. Odstranit výchozí kód Visual Studio .NET přidá na stránku.
  4. Zvýrazněte následující kód, klepněte pravým tlačítkem myši na kód a potom klepněte na tlačítko Kopírovat. V aplikaci Visual Studio .NET na příkaz Vložit jako HTML v nabídce Úpravy vložte kód do stránky ASPX:
    <%@ OutputCache Duration="20" VaryByParam="none"%>
    <HTML>
       <HEAD>
       <script language="C#" runat="server">
       void Page_Load(object sender, EventArgs e) 
       {	
          Label1.Text = "Time: " + DateTime.Now.TimeOfDay.ToString();
       }
       </script>
       </HEAD>
       <body>
          <STRONG>@ OutputCache Duration Sample</STRONG>
          <hr>
          <br>
          <asp:Label id="Label1" runat="server">Label</asp:Label>
          <br>
       </body>
    </HTML>
    					
  5. V nabídce soubor klepněte na tlačítko Uložit OutputCacheDuration.aspx stránku uložit.
  6. V nabídce Sestavit v integrované vývojové prostředí (IDE) klepněte na tlačítko Sestavit.
  7. Spustit ukázkové OutputCacheDuration.aspx v aplikaci Solution Explorer klepněte pravým tlačítkem myši a klepněte na zobrazení v prohlížeči.
  8. Po stránce se zobrazí v prohlížeči, si poznamenejte čas se zobrazí v popisku.
  9. Aktualizovat stránku v prohlížeči. Všimněte si, že čas je stejný jako dříve. Aktualizujte stránku po vypršení platnosti nastavení trvání sekundu 20, zobrazí se nově mezipaměti verzi stránky.

    Poznámka: Pokud prohlížíte stránky v externí prohlížeče můžete stisknutím klávesy F5 aktualizovat stránku. Stránky jsou zobrazení v prohlížeči vnitřní Visual Studio .NET IDE, můžete na stránku pravým tlačítkem myši a klepněte na tlačítko Aktualizovat aktualizovat stránku.

Kroky vytvoření ukázkových @ OutputCache VaryByParam

Následující kroky ukazují, jak pomocí atributu VaryByParam pro výstup stránky do mezipaměti povolit různé verze v mezipaměti stránky existují na základě hodnota jednoho z jeho QueryString hodnoty proměnné.
  1. Vytvořit novou stránku ASPX v aplikaci Visual Studio .NET následujícím způsobem:
    1. V aplikaci Solution Explorer klepněte pravým tlačítkem na uzel projektu, klepněte na tlačítko Přidat a potom klepněte na tlačítko Přidat webový formulář.
    2. V textovém poli název zadejte OutputCacheVaryByParam.aspx a potom klepněte na tlačítko Otevřít.
  2. Odstranit výchozí kód Visual Studio .NET ve výchozím nastavení přidá na stránku.
  3. Zvýrazněte následující kód, klepněte pravým tlačítkem myši na kód a potom klepněte na tlačítko Kopírovat. V aplikaci Visual Studio .NET na příkaz Vložit jako HTML v nabídce Úpravy vložte kód do stránky ASPX:
    <%@ OutputCache Duration="20" VaryByParam="testVal"%>
    <HTML>
       <HEAD>
          <script language="C#" runat="server">
       void Page_Load(object sender, EventArgs e) 
       {	
          Label1.Text = "Time: " + DateTime.Now.TimeOfDay.ToString();
       }
       </script>
       </HEAD>
       <body>
          <P>
             <STRONG>@ OutputCache VaryByParam Sample</STRONG>
          </P>
          <P>
             <hr>
          </P>
          <P>
             <br>
             <asp:Label id="Label1" runat="server"></asp:Label>
             <br>
             <hr>
             <a href=http://yourservername/OutputCacheDemo/OutputCacheVaryByParam.aspx?testVal=123">testVal(123)</a>
             <br>
             <a href=http://yourservername/OutputCacheDemo/OutputCacheVaryByParam.aspx?testVal=345">testVal(345)</a>
          </P>
       </body>
    </HTML>
    						
    Poznámka: je třeba upravit dvěma hypertextové odkazy v předcházejícím kódu odráží název serveru. Navíc můžete si všimnout, že atribut VaryByParam je nastavena na lišit na základě hodnoty proměnné QueryStringtestVal. To způsobí, že stránky výstupní mezipaměti pro každou instanci, ve kterém QueryString hodnotu proměnné pro testVal je stejný.
  4. V nabídce soubor klepněte na tlačítko Uložit OutputCacheVaryByParam.aspx stránku uložit.
  5. Z nabídky Sestavit IDE klepněte na tlačítko Sestavit.
  6. Spustit ukázkové OutputCacheVaryByParam.aspx v aplikaci Solution Explorer klepněte pravým tlačítkem myši a klepněte na zobrazení v prohlížeči.
  7. Po stránce se zobrazí v prohlížeči, klepněte na tlačítko testVal(123). To způsobí prohlížeči přejděte na stránku, ale QueryString proměnné testVal nastavit "123". Si poznamenejte čas se zobrazí.
  8. Klepněte znovu na tlačítko testVal(123). Všimněte si, že čas je stejný jako dříve. Výstup stránky má byla mezipaměti na základě hodnoty proměnné testVal.
  9. Klepněte na tlačítko testVal(345). Všimněte si, že nový čas se zobrazí na stránce.
  10. Klepněte znovu na tlačítko testVal(345). Všimněte si, že předchozí výstup stránky v mezipaměti a v prohlížeči zobrazena.
  11. Klepnutím vrátíte první instance testVal(123). Doložku, že verze výstupní mezipaměti jinou stránku, na základě zadané QueryString hodnotu proměnné.

Odstraňování potíží

  • Při použití VaryByParam Uvědomte si, které změní výsledek případu proměnnou QueryString v mezipaměti další položky.
  • Mějte na paměti, že trvání zadána v sekundách.
  • Při použití VaryByCustom a přepište metodu HttpApplication.GetVaryByCustomString v souboru Global.asax používá výchozí nastavení prohlížeče Pokud pro vlastní řetězec, který je poskytován s atributem nalezena žádná shoda.

Odkazy

Další informace o ukládání do mezipaměti výstupu stránky naleznete na následujících webech společnosti Microsoft:
Stránka GotDotNet výstup mezipaměti kurz QuickStart
Microsoft .NET framework Software Development Kit (SDK)
http://msdn2.microsoft.com/en-us/library/ms950382.aspx

Ukládání do mezipaměti stránek ASP.NET
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx

@ OutputCache
http://msdn2.microsoft.com/en-us/library/hdxfb6cy(vs.71).aspx

Vlastnosti

ID článku: 308375 - Poslední aktualizace: 31. května 2007 - Revize: 7.9
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Klíčová slova: 
kbmt kbcaching kbhowtomaster kbio KB308375 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:308375

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