Visual C#. NET'i kullanarak, ASP.NET'te denetim sayfası Çıkış önbellekleme nasıl

Makale çevirileri Makale çevirileri
Makale numarası: 308375 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, @ OutputCache yönergesi sayfa çıktısının ASP.NET Visual C# .NET ile önbelleğe alma özelliğini denetlemek için nasıl kullanılacağı gösterilmektedir. Bu teknik, Web sunucunuzun üretilen iş önemli ölçüde artabilir sitenizin en sık erişilen sayfaları önbelleğe almak için kullanabilirsiniz. Işlem hacmi sık istekleri / saniye olarak ölçülür. Makaleyi, bu makaledeki örnek kod, süresini ve VaryByParam öznitelikleri nas?l kullan?laca??n? gösterir, ancak aynı zamanda @ OutputCache yönergesi kullanabileceğiniz diğer bir yaklaşım kısa bir açıklamasını içerir.

Not: ıt @ OutputCache yönergesi özniteliklerin tümünü tanımlamak için amaç, bu makalenin değildir ve bunların olası ayrıntılı olarak kullanır. Daha fazla bilgi için References başvuran bölüm.


Gereksinimler

  • Microsoft Windows 2000 veya Windows XP
  • Microsoft .NET framework
  • Microsoft ınternet ınformation Server (IIS)
  • Microsoft ASP.NET

<a1>Giriş</a1> için @ OutputCache yönergesini

@ OutputCache yönergesi sayfa Çıkış önbellekleme denetlemek için kullanmak için <a0></a0>, yalnızca sayfanın en üstüne yönergeyi eklemeniz gerekir. Page.InitOutputCache yöntemi yönergeyi HttpCachePolicy sınıfı yöntemleri çevirir.

@ OutputCache yönergesi için aşağıdaki öznitelikleri ve ayarları içerir:
  • Süre: Bu öznitelik ne kadar bir maddenin belirtir önbelleğinde tutulur. Süre değerini saniye cinsinden listelenir.
  • VaryByParam: Bu öznitelik, önbellek girdilerini Al veya Deftere Naklet parametreleri belirler. Örneğin, testVal için farklı bir değer içeren her sayfa isteği testVal adlı bir QueryString değişken için VaryByParam özniteliği ayarlanmışsa, ayrı bir sayfada önbelleğe alınır. Aşağıdaki kod VaryByParam öznitelik sözdizimi gösterilmiştir:
    <%@ OutputCache Duration="Seconds" VaryByParam="testVal"%>
    						
    Not: yıldız (*), maddenin farklı sürümlerini önbelleğe alınıp alınmayacağını belirtebilirsiniz. Ayrıca, yalnızca önbellekteki bir maddenin bir sürüm varsa, "none" belirtebilirsiniz.
  • Konum: maddenin bulunduğu önbelleğe alınmak amacıyla bu özniteliği belirler. Aşağıdaki konumlardan belirtebilirsiniz:
    • Tüm
    • Istemci
    • Aşağı akım
    • Sunucu
    • Yok

    Aşağıdaki kodu, Konum özniteliğini sözdizimi gösterilmiştir:
    <%@ OutputCache Duration="Seconds" Location="Client" %>
    					
  • VaryByCustom: Bu öznitelik, onu isteyen her tarayıcı sürümü için farklı bir öğenin örneğini önbellekteyse anlamına gelir Tarayıcı varsayılan içerir. Örneğin, hem Microsoft ınternet Explorer 5 ve ınternet Explorer 5.5 maddenin isteyin. VaryByCustomTarayıcı için ayarlandığında, bir önbellek girdisi için her bir tarayıcı sürümü bulunmaktadır. Diğer özel senaryolar için önbelleğe alma denetlemek için bir dize sağlayamaz. Global.asax dosyasında HttpApplication.GetVaryByCustomString yöntemi geçersiz kılmak için bir kod girmeniz dizenin anlamı yoktur.

    Aşağıdaki kod VaryByCustom öznitelik sözdizimi gösterilmiştir:
    <%@ OutputCache Duration="Seconds" VaryByCustom="string" %>
    					
  • VaryByHeader: Bu öznitelik, farklı bir önbellek girdilerini belirlemek için ölçüt olarak belirli bir HTTP üstbilgisi değeri belirlemenizi sağlar. Aşağıdaki kod VaryByHeader öznitelik sözdizimi gösterilmiştir:
    <%@ OutputCache Duration="60" VaryByHeader="Accept-Language" %>
    					

@ OutputCache süre örnek oluşturma adımları

Aşağıdaki adımları süre öznitelik ne kadar süreyle belirtmek için önbelleğe alma sayfa çıkışı için öğenin önbelleğe almak için nasıl kullanıldığını göstermektedir.
  1. Yeni bir Visual Basic ASP.NET Web uygulaması proje aşağıdaki gibi oluşturursunuz:
    1. Visual Studio. NET'i açın.
    2. Dosya menüsünden Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
    3. Yeni proje) iletişim kutusunda, Project Types altında Visual C# Projects ' ı tıklatın ve şablonları altında ASP.NET Web uygulaması ' ı tıklatın. Adı metin kutusuna, OutputCacheDemo yazın ve Tamam ' ı tıklatın.
  2. Visual Studio. NET'te yeni bir .aspx sayfası aşağıdaki gibi oluşturun:
    1. Solution Explorer'da (Çözüm Gezgini), proje düğümünü sağ tıklatın, sonra da Ekle ' yi tıklatın ve Web formu Ekle</a1>'ı tıklatın.
    2. Adı metin kutusuna, OutputCacheDuration.aspx yazın ve sonra da ' ı tıklatın.
  3. Visual Studio. NET'in sayfaya ekler varsayılan kod silin.
  4. Aşağıdaki kod vurgulayın kodunu sağ tıklatın ve sonra Kopyala ' yı tıklatın. Kodu .aspx sayfasına yapıştırmak için Düzen menüsünden Yapıştır'ın HTML olarak Visual Studio. NET'te ':
    <%@ 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. Dosya menüsünden Sayfa kaydedilemiyor OutputCacheDuration.aspx Kaydet ' i tıklatın.
  6. Yapı menüsünden tümleşik geliştirme ortamı (IDE), Oluştur ' u tıklatın.
  7. Örneği çalıştırmak için <a0></a0>, OutputCacheDuration.aspx Solution Explorer'da (Çözüm Gezgini)'ı sağ tıklatın ve sonra Tarayıcıda Görüntüle ' yi tıklatın.
  8. Tarayıcıda Sayfa görüntülendikten sonra etiketinde görüntülenen zaman not alın.
  9. Tarayıcı sayfayı yenileyin. Önceden olduğu gibi zaman aynı olduğuna dikkat edin. Ayarı 20 saniye süresi dolduktan sonra sayfayı yenilediğinizde, sayfanın yeni önbelleğe alınmış bir sürümünü görüntülenir.

    Not: sayfaya dış bir tarayıcıda görüntülediğiniz, sayfayı yenilemek için F5 tuşuna basın. Visual Studio .NET IDE iç tarayıcıda sayfa görüntülüyorsanız, sayfayı sağ tıklatın ve sonra da <a2>Sayfayı Yenile Yenile</a2>'ı tıklatın.

@ OutputCache VaryByParam örnek oluşturma adımları

Aşağıdaki adımları VaryByParam ' özniteliği sayfa çıktısının bir sayfanın önbellekteki farklı sürümleri için izin vermek için önbelleğe alma için değeri QueryString değişken değerlerini biri temel alınarak bulunduğunun nasıl kullanıldığını göstermektedir.
  1. Visual Studio. NET'te yeni bir .aspx sayfası aşağıdaki gibi oluşturun:
    1. Solution Explorer'da proje düğümünü sağ tıklatın, sonra da Ekle ' yi tıklatın ve Web formu Ekle</a1>'ı tıklatın.
    2. Adı metin kutusuna, OutputCacheVaryByParam.aspx yazın ve sonra da ' ı tıklatın.
  2. Visual Studio. NET'in varsayılan sayfaya ekler varsayılan kod silin.
  3. Aşağıdaki kod vurgulayın kodunu sağ tıklatın ve sonra Kopyala ' yı tıklatın. Kod .aspx sayfasına yapıştırmak için Düzen menüsünden Yapıştır'ın HTML olarak Visual Studio. NET'te ':
    <%@ 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>
    						
    Not: iki köprüler önceki kod, Web sunucunuzun adını yansıtacak şekilde değiştirmeniz gerekir. Buna ek olarak, VaryByParam ' özniteliği değiştirmek için <a0></a0>, testValQueryString değişken değeri temel alınarak ayarlandığını görebilirsiniz. Bu sayfanın testValQueryString değişken değeri aynı olduğu her kopyası için önbelleğe alınmak amacıyla, çıkış neden olur.
  4. Dosya menüsünden Sayfa kaydedilemiyor OutputCacheVaryByParam.aspx Kaydet ' i tıklatın.
  5. IDE Oluştur menüsünden Oluştur ' u tıklatın.
  6. Örneği çalıştırmak için <a0></a0>, OutputCacheVaryByParam.aspx Solution Explorer'da (Çözüm Gezgini)'ı sağ tıklatın ve sonra Tarayıcıda Görüntüle ' yi tıklatın.
  7. Tarayıcıdan Sayfa görüntülendikten sonra testVal(123) ' ı tıklatın. Bu sayfaya ancak değişken testVal"123" için ayarlanan QueryString gözatmak tarayıcı neden olur. Görüntülenen zaman not alın.
  8. TestVal(123) yeniden tıklatın. Önceden olduğu gibi zaman aynı olduğuna dikkat edin. Sayfa çıktısının testVal değişken değeri temelinde önbelleğe.
  9. TestVal(345) Ek Yardım düğmesini tıklatın. Yeni bir saat sayfada görüntülendiğine dikkat edin.
  10. TestVal(345) yeniden tıklatın. Önceki sayfa çıkış önbelleğe ve tarayıcıda görüntülenen dikkat edin.
  11. TestVal(123) ilk örneğine geri dönmek için Ek Yardım düğmesini tıklatın. Sağlanan QueryString değişken değeri temel alan farklı sayfa çıkış önbelleği sürümler görünen dikkat edin.

SORUN GİDERME

  • VaryByParam ' nı kullandığınızda, ek önbellek girdileri QueryString değişkenin büyük sonuç değişiklikleri unutmayın.
  • Saniye cinsinden süre belirtilen aklınızda bulundurun.
  • VaryByCustom kullanın ve Global.asax dosyasında HttpApplication.GetVaryByCustomString yöntemi geçersiz özel öznitelik ile sağlanan dizesi için eşleşme bulunursa tarayıcısı ' nın varsayılan ayarı kullanılır.

Referanslar

Sayfa, çıkış önbelleğe alma hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitelerine bakın:
Önbellekleme QuickStart öğreticisi GotDotNet sayfa çıkış
Microsoft .NET framework Software Development Kit'e (SDK)
http://msdn2.microsoft.com/en-us/library/ms950382.aspx

ASP.NET sayfaları önbelleğe alma
http://msdn2.microsoft.com/en-us/library/xsbfdd8c(vs.71).aspx

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

Özellikler

Makale numarası: 308375 - Last Review: 31 Mayıs 2007 Perşembe - Gözden geçirme: 7.9
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbmt kbcaching kbhowtomaster kbio KB308375 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:308375

Geri Bildirim Ver

 

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