Bagaimana kontrol halaman Output Caching di ASP.NET dengan menggunakan Visual C#.NET

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 308375 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menunjukkan bagaimana untuk menggunakan @ OutputCache petunjuk untuk mengontrol halaman output caching di ASP.NET dengan Visual C#.NET. Anda dapat menggunakan teknik ini untuk men-cache situs Anda paling sering Diakses halaman, yang dapat secara substansial meningkatkan throughput server Web Anda. Throughput biasanya diukur dalam permintaan per detik. Meskipun sampel kode dalam artikel ini menunjukkan bagaimana untuk menggunakan Durasi dan VaryByParam atribut, artikel juga menyertakan deskripsi singkat pendekatan-pendekatan lain yang dapat Anda gunakan dengan @ OutputCache petunjuk.

CATATAN: Itu bukanlah maksud dari artikel ini untuk menggambarkan semua @ OutputCache direktif atribut dan menggunakan mereka mungkin secara rinci. Untuk lebih informasi, merujuk kepada Referensibagian.


Persyaratan

  • Microsoft Windows 2000 atau Windows XP
  • Microsoft.NET Framework
  • Microsoft Internet Information Server (IIS)
  • Microsoft ASP.NET

Pendahuluan untuk @ OutputCache direktif

Untuk menggunakan @ OutputCache direktif untuk mengendalikan keluaran cache halaman, Anda cukup menambahkan petunjuk untuk bagian atas halaman. The Page.InitOutputCache metode diterjemahkan direktif ke HttpCachePolicy metode kelas.

The @ OutputCache direktif termasuk atribut dan pengaturan berikut:
  • Durasi: Atribut ini menentukan berapa lama item yang diadakan di cache. Nilai untuk Durasi terdaftar dalam detik.
  • VaryByParam: Atribut ini menentukan cache entri oleh Mendapatkan atau Posting parameter. Sebagai contoh, jika QueryString variabel bernama testVal diatur untuk VaryByParam atribut, setiap permintaan halaman yang berisi nilai yang berbeda untuktestVal cache pada halaman terpisah. Kode berikut menggambarkan sintaks untuk VaryByParam atribut:
    <%@ OutputCache Duration="Seconds" VaryByParam="testVal"%>
    						
    CATATAN: Anda dapat menentukan asterisk (*) sehingga semua versi yang berbeda item cache. Juga, Anda dapat menentukan "tidak ada" jika hanya satu versi Cached item ada.
  • Lokasi: Atribut ini menentukan di mana item cache. Anda dapat menentukan lokasi-lokasi berikut:
    • Setiap
    • Klien
    • Hilir
    • Server
    • Tidak Ada

    Kode berikut menggambarkan sintaks untuk Lokasi atribut:
    <%@ OutputCache Duration="Seconds" Location="Client" %>
    					
  • VaryByCustom: Atribut ini berisi pengaturan default Browser, yang berarti bahwa contoh yang berbeda dari item yang di-cache untuk setiap versi browser yang menginginkannya. Sebagai contoh, kedua Microsoft Internet Explorer 5 dan Internet Explorer 5.5 meminta item. Kapan VaryByCustom diatur ke Browser, ada cache entri untuk setiap versi browser. Anda tidak dapat menyediakan string untuk mengontrol caching untuk skenario kustom lainnya. String tidak memiliki arti kecuali Anda memberikan kode untuk menimpa HttpApplication.GetVaryByCustomString metode pada berkas Global.asax.

    Kode berikut menggambarkan sintaks untuk VaryByCustom atribut:
    <%@ OutputCache Duration="Seconds" VaryByCustom="string" %>
    					
  • VaryByHeader: Atribut ini memungkinkan Anda untuk menentukan tertentu HTTP header nilai sebagai kriteria untuk menentukan cache berbeda entri. Kode berikut menggambarkan sintaks untuk VaryByHeader atribut:
    <%@ OutputCache Duration="60" VaryByHeader="Accept-Language" %>
    					

Langkah-langkah untuk membuat sampel @ OutputCache durasi

Langkah-langkah berikut menunjukkan cara menggunakan Durasi atribut untuk halaman output caching untuk menentukan berapa lama ke cache item.
  1. Buat baru Visual Basic ASP.NET aplikasi Web proyek sebagai berikut:
    1. Membuka Visual Studio.NET.
    2. Dari Berkas menu, titik Baru, lalu klik Project.
    3. Dalam Proyek baru kotak dialog, klik Visual C# proyek di bawah Jenis proyek, klik ASP.Aplikasi NET Web di bawah Pola acu. Dalam Nama kotak teks, ketik OutputCacheDemo, dan kemudian Klik Oke.
  2. Buat halaman .aspx baru dalam Visual Studio.NET sebagai berikut:
    1. Dalam solusi Explorer, klik kanan node proyek, Klik Tambahkan, lalu klik Tambahkan formulir Web.
    2. Dalam Nama kotak teks, ketik OutputCacheDuration.aspx, kemudian klik Terbuka.
  3. Menghapus kode standar itu Visual Studio.NET menambah Halaman.
  4. Menyoroti kode berikut, klik kanan kode, dan kemudian klik Salin. Dalam Visual Studio.NET, klik Pasta sebagai HTML pada Mengedit menu untuk menyisipkan kode ke dalam laman .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. Dari Berkas menu, klik Simpan OutputCacheDuration.aspx untuk menyimpan halaman.
  6. Dari Bangun menu di lingkungan pengembangan terintegrasi (IDE), klik Bangun.
  7. Untuk menjalankan sampel, klik kanan OutputCacheDuration.aspx Solusi Explorer, dan kemudian klik Lihat dalam Browser.
  8. Setelah halaman muncul dalam browser, mencatat waktu yang muncul pada label.
  9. Me-refresh halaman dalam browser. Pemberitahuan bahwa waktu adalah sama seperti sebelumnya. Jika Anda memperbarui halaman setelah 20-detik durasi pengaturan berakhir, versi baru cache halaman ditampilkan.

    CATATAN: Jika Anda melihat halaman dalam browser eksternal, Anda dapat Tekan tombol F5 untuk me-refresh halaman. Jika Anda melihat halaman dalam Visual Studio.NET IDE browser internal, Anda dapat mengklik kanan halaman dan kemudian klik Refresh untuk me-refresh halaman.

Langkah-langkah untuk membuat sampel @ OutputCache VaryByParam

Langkah-langkah berikut menunjukkan cara menggunakan VaryByParam atribut untuk halaman output caching untuk memungkinkan berbeda cache Versi halaman yang ada didasarkan pada nilai dari salah satu yang QueryString nilai-nilai variabel.
  1. Buat halaman .aspx baru dalam Visual Studio.NET sebagai berikut:
    1. Dalam solusi Explorer, klik kanan node proyek, Klik Tambahkan, lalu klik Tambahkan formulir Web.
    2. Dalam Nama kotak teks, ketik OutputCacheVaryByParam.aspx, lalu klik Terbuka.
  2. Menghapus kode standar itu Visual Studio.NET menambah Halaman secara default.
  3. Menyoroti kode berikut, klik kanan kode, dan kemudian klik Salin. Dalam Visual Studio.NET, klik Pasta sebagai HTML pada Mengedit menu untuk menyisipkan kode ke dalam laman .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>
    						
    CATATAN: Anda harus memodifikasi hyperlink dua dalam kode yang sebelumnya mencerminkan nama server Web Anda. Selain itu, Anda mungkin memperhatikan bahwa VaryByParam atribut diatur ke bervariasi, berdasarkan nilai QueryString variabel testVal. Hal ini menyebabkan halaman output cache untuk setiap contoh di yang QueryString nilai variabel untuk testVal adalah sama.
  4. Dari Berkas menu, klik Simpan OutputCacheVaryByParam.aspx untuk menyimpan halaman.
  5. Dari Bangun menu di IDE, klik Bangun.
  6. Untuk menjalankan sampel, klik kanan OutputCacheVaryByParam.aspx Solusi Explorer, dan kemudian klik Lihat dalam Browser.
  7. Setelah halaman muncul dalam browser, klik testVal(123). Hal ini menyebabkan browser untuk menelusuri kembali ke halaman tetapi dengan QueryString variabel testVal diatur ke "123". Perhatikan waktu yang muncul.
  8. Klik testVal(123) lagi. Perhatikan bahwa waktu adalah sama seperti sebelumnya. The Halaman output memiliki cache berdasarkan testVal nilai variabel.
  9. Klik testVal(345). Perhatikan bahwa waktu yang baru muncul di halaman.
  10. Klik testVal(345) lagi. Perhatikan bahwa output halaman sebelumnya cache dan ditampilkan dalam browser.
  11. Klik testVal(123) kembali ke contoh pertama. Perhatikan halaman berbeda Keluaran cache versi muncul, berdasarkan pada konektor QueryString nilai variabel.

Pemecahan Masalah

  • Ketika Anda menggunakan VaryByParam, menyadari bahwa perubahan QueryString variabel kasus mengakibatkan entri tambahan cache.
  • Perlu diketahui bahwa Durasi ditetapkan dalam detik.
  • Ketika Anda menggunakan VaryByCustom dan menimpa HttpApplication.GetVaryByCustomString metode dalam Global.asax file, pengaturan default Browser digunakan jika tidak ada kecocokan ditemukan untuk string kustom yang disediakan dengan atribut.

REFERENSI

Untuk informasi lebih lanjut tentang halaman output caching, merujuk kepada Web site Microsoft berikut:
GotDotNet halaman Output Caching QuickStart Tutorial
Microsoft.NET Framework Software Development Kit (SDK)
http://msdn2.Microsoft.com/en-us/library/ms950382.aspx

Caching ASP.Halaman bersih
.aspx http://msdn2.Microsoft.com/en-us/library/xsbfdd8c (vs.71)

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

Properti

ID Artikel: 308375 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Kata kunci: 
kbcaching kbhowtomaster kbio kbmt KB308375 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:308375

Berikan Masukan

 

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