Bagikan melalui


Penembolokan penembolokan <>

Gambaran Umum

Elemen ini <caching> memungkinkan Anda mengaktifkan atau menonaktifkan penembolokan output halaman untuk aplikasi Internet Information Services (IIS) 7. Elemen ini juga memungkinkan Anda untuk mengonfigurasi apakah IIS cache output halaman dalam mode pengguna, mode kernel, atau keduanya dan apa, jika ada, batas penembolokan output yang ingin Anda paksakan.

Elemen ini <caching> juga berisi <profiles> elemen yang berisi kumpulan pengaturan cache output yang dapat Anda terapkan ke halaman ASP.NET.

Penembolokan output halaman menyimpan respons halaman dinamis, seperti halaman ASP atau halaman ASP.NET, dalam memori setelah browser memintanya. Ketika permintaan berikutnya tiba untuk halaman, server mengirim respons yang di-cache alih-alih memproses ulang halaman. Cache output halaman ASP.NET terpisah dari cache output IIS 7. Dalam aplikasi yang menggunakan mode ASP.NET Terintegrasi, cache output halaman ASP.NET dapat digunakan secara terprogram untuk jenis konten apa pun, seperti cache output IIS 7.

Penembolokan output halaman mengurangi beban server dan waktu respons. Penembolokan output berfungsi paling baik dengan halaman yang semi dinamis, seperti halaman ASP.NET yang bergantung pada tabel database yang tidak sering berubah.

Penembolokan output tidak diperlukan untuk file statis, seperti file HTML, JPG, atau GIF, dan dapat menyebabkan lebih banyak overhead memori untuk halaman ASP.NET dinamis atau PHP yang sering membaca dari database yang sering berubah.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <caching> tidak dimodifikasi dalam IIS 10.0.
IIS 8.5 Elemen <caching> tidak dimodifikasi dalam IIS 8.5.
IIS 8.0 Elemen <caching> tidak dimodifikasi dalam IIS 8.0.
IIS 7.5 Elemen <caching> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen ini <caching> diperkenalkan di IIS 7.0.
IIS 6.0 T/A

Siapkan

Elemen <caching> ini disertakan dalam penginstalan default IIS 7.

Bagaimana Caranya

Cara mengonfigurasi penembolokan output halaman

  1. Buka Pengelola Layanan Informasi Internet (IIS):

    • Jika Anda menggunakan Windows Server 2012 atau Windows Server 2012 R2:

      • Pada bilah tugas, klik Manajer Server, klik Alat, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows 8 atau Windows 8.1:

      • Tahan tombol Windows, tekan huruf X, lalu klik Panel Kontrol.
      • Klik Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Server 2008 atau Windows Server 2008 R2:

      • Pada bilah tugas, klik Mulai, arahkan ke Alat Administratif, lalu klik Pengelola Layanan Informasi Internet (IIS).
    • Jika Anda menggunakan Windows Vista atau Windows 7:

      • Pada taskbar, klik Mulai, lalu klik Panel Kontrol.
      • Klik dua kali Alat Administratif, lalu klik dua kali Manajer Layanan Informasi Internet (IIS).
  2. Di panel Koneksi , buka koneksi, situs, aplikasi, atau direktori yang ingin Anda konfigurasi penembolokan output halamannya.

  3. Di panel Beranda , gulir ke Penembolokan Output, lalu klik dua kali Penembolokan Output.
    Cuplikan layar Penembolokan Output dipilih di panel Beranda Situs Web Default.

  4. Di panel Tindakan , klik Tambahkan...

  5. Dalam kotak dialog Tambahkan Aturan Singgahan , ketik ekstensi nama file yang ingin Anda cache dalam kotak Ekstensi nama file , lalu pilih opsi Penembolokan mode pengguna , opsi penembolokan mode Kernel , atau keduanya.

  6. Pilih opsi yang ingin Anda gunakan untuk penembolokan, lalu klik OK.
    Cuplikan layar dialog Tambahkan Aturan Singgahan dengan opsi yang ditentukan.

Konfigurasi

Anda dapat mengonfigurasi <caching> elemen di tingkat server dalam file ApplicationHost.config atau di situs, aplikasi, atau di tingkat direktori dalam file Web.config.

Atribut

Atribut Deskripsi
enabled Atribut Boolean opsional.

Menentukan apakah penembolokan output halaman diaktifkan.

Nilai defaultnya adalah true.
enableKernelCache Atribut Boolean opsional.

Menentukan apakah penembolokan kernel diaktifkan.

Nilai defaultnya adalah true.
maxCacheSize Atribut uint opsional.

Menentukan ukuran maksimum cache output.

Catatan: Pengaturan ini hanya efektif pada tingkat file ApplicationHost.config. Jika Anda mengatur properti ini pada tingkat yang lebih rendah, itu tidak akan berpengaruh.

Nilai defaultnya adalah 0.
maxResponseSize Atribut uint opsional.

Menentukan ukuran respons maksimum yang dapat di-cache.

Catatan: Pengaturan ini hanya efektif pada tingkat file ApplicationHost.config. Jika Anda mengatur properti ini pada tingkat yang lebih rendah, itu tidak akan berpengaruh.

Nilai defaultnya adalah 262144.

Elemen Anak

Elemen Deskripsi
profiles Elemen opsional.

Berisi sekelompok pengaturan singgahan output yang dapat diterapkan ke halaman ASP.NET.

Sampel Konfigurasi

Contoh konfigurasi berikut memungkinkan penembolokan mode pengguna dan penembolokan mode kernel, yang keduanya diaktifkan secara default di IIS 7.0. Ini juga menggunakan elemen yang <add> terkandung oleh <profiles> elemen untuk mengaktifkan penembolokan output untuk file dengan ekstensi nama file .asp. Ini juga menggunakan atribut kebijakan untuk menghasilkan cache halaman sampai berubah; ini melakukan hal yang sama untuk penembolokan kernel menggunakan atribut kernelCachePolicy .

<configuration>
   <system.webServer>
      <caching enabled="true" enableKernelCache="true">
         <profiles>
            <add extension=".asp" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
         </profiles>
      </caching>
   </system.webServer>
</configuration>

Contoh kode berikut mengatur ukuran cache output maksimum menjadi 1 gigabyte dan mengatur ukuran maksimum respons yang dapat disimpan dalam cache output menjadi 512 kilobyte.

<configuration>
   <system.webServer>
      <caching enabled="true" enableKernelCache="true" maxCacheSize="1000" maxResponseSize="512000"/>
   </system.webServer>
</configuration>

Kode Sampel

Contoh berikut mengonfigurasi penembolokan output halaman untuk file dengan ekstensi nama file .asp, dan mengonfigurasi IIS untuk cache dalam mode pengguna dan mode kernel hingga file ASP berubah.

AppCmd.exe

appcmd.exe set config -section:system.webServer/caching /+"profiles.[extension='asp',policy='CacheUntilChange',kernelCachePolicy='CacheUntilChange']" /commit:apphost

Catatan

Anda harus memastikan untuk mengatur parameter penerapan ke apphost saat Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai dalam file ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample {
   private static void Main() {
      using(ServerManager serverManager = new ServerManager()) { 
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection cachingSection = config.GetSection("system.webServer/caching");
         ConfigurationElementCollection profilesCollection = cachingSection.GetCollection("profiles");

         ConfigurationElement addElement = profilesCollection.CreateElement("add");
         addElement["extension"] = @"asp";
         addElement["policy"] = @"CacheUntilChange";
         addElement["kernelCachePolicy"] = @"CacheUntilChange";
         profilesCollection.AddAt(0, addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim cachingSection As ConfigurationSection = config.GetSection("system.webServer/caching")
      Dim profilesCollection As ConfigurationElementCollection = cachingSection.GetCollection("profiles")
      Dim addElement As ConfigurationElement = profilesCollection.CreateElement("add")
      addElement("extension") = "asp"
      addElement("policy") = "CacheUntilChange"
      addElement("kernelCachePolicy") = "CacheUntilChange"
      profilesCollection.AddAt(0, addElement)
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var cachingSection = adminManager.GetAdminSection("system.webServer/caching", "MACHINE/WEBROOT/APPHOST");
var profilesCollection = cachingSection.ChildElements.Item("profiles").Collection;

var addElement = profilesCollection.CreateNewElement("add");
addElement.Properties.Item("extension").Value = "asp";
addElement.Properties.Item("policy").Value = "CacheUntilChange";
addElement.Properties.Item("kernelCachePolicy").Value = "CacheUntilChange";
profilesCollection.AddElement(addElement, 0);

adminManager.CommitChanges();

Vbscript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set cachingSection = adminManager.GetAdminSection("system.webServer/caching", "MACHINE/WEBROOT/APPHOST")
Set profilesCollection = cachingSection.ChildElements.Item("profiles").Collection

Set addElement = profilesCollection.CreateNewElement("add")
addElement.Properties.Item("extension").Value = "asp"
addElement.Properties.Item("policy").Value = "CacheUntilChange"
addElement.Properties.Item("kernelCachePolicy").Value = "CacheUntilChange"
profilesCollection.AddElement addElement, 0

adminManager.CommitChanges()