RequestCacheLevel Enum

Definisi

Menentukan perilaku penembolokan untuk sumber daya yang diperoleh menggunakan WebRequest dan kelas turunannya.

public enum class RequestCacheLevel
public enum RequestCacheLevel
type RequestCacheLevel = 
Public Enum RequestCacheLevel
Warisan
RequestCacheLevel

Bidang

BypassCache 1

Memenuhi permintaan dengan menggunakan server. Tidak ada entri yang diambil dari cache, ditambahkan ke cache, atau dihapus dari cache antara klien dan server. Ini adalah perilaku cache default yang ditentukan dalam file konfigurasi mesin yang dikirim dengan .NET Framework.

CacheIfAvailable 3

Memenuhi permintaan sumber daya dari cache, jika sumber daya tersedia; jika tidak, mengirim permintaan sumber daya ke server. Jika item yang diminta tersedia di cache apa pun antara klien dan server, permintaan mungkin dipenuhi oleh cache perantara.

CacheOnly 2

Memenuhi permintaan menggunakan sumber daya yang di-cache secara lokal; tidak mengirim permintaan untuk item yang tidak ada dalam cache. Ketika tingkat kebijakan cache ini ditentukan, WebException pengecualian dilemparkan jika item tidak ada di cache klien.

Default 0

Memenuhi permintaan sumber daya baik dengan menggunakan salinan sumber daya yang di-cache atau dengan mengirim permintaan sumber daya ke server. Tindakan yang diambil ditentukan oleh kebijakan cache saat ini dan usia konten dalam cache. Ini adalah tingkat cache yang harus digunakan oleh sebagian besar aplikasi.

NoCacheNoStore 6

Jangan pernah memenuhi permintaan dengan menggunakan sumber daya dari cache dan tidak menyimpan sumber daya cache. Jika sumber daya ada di cache lokal, sumber daya akan dihapus. Tingkat kebijakan ini menunjukkan cache perantara bahwa mereka harus menghapus sumber daya. Dalam protokol penembolokan HTTP, ini dicapai menggunakan direktif no-cache kontrol cache.

Reload 5

Memenuhi permintaan dengan menggunakan server. Respons mungkin disimpan di cache. Dalam protokol penembolokan HTTP, ini dicapai menggunakan direktif no-cache kontrol cache dan header tanpa cache Pragma .

Revalidate 4

Memenuhi permintaan dengan menggunakan salinan sumber daya yang disembunyikan jika stempel waktu sama dengan stempel waktu sumber daya di server; jika tidak, sumber daya diunduh dari server, disajikan ke pemanggil, dan disimpan dalam tembolokan.

Contoh

Contoh kode berikut membuat kebijakan yang mengembalikan sumber daya hanya jika ada di cache.

static WebResponse^ GetResponseFromCache( Uri^ uri )
{
   RequestCachePolicy^ policy = gcnew RequestCachePolicy( RequestCacheLevel::CacheOnly );
   WebRequest^ request = WebRequest::Create( uri );
   request->CachePolicy = policy;
   WebResponse^ response = request->GetResponse();
   Console::WriteLine( L"Policy level is {0}.", policy->Level );
   Console::WriteLine( L"Is the response from the cache? {0}", response->IsFromCache );
   return response;
}
public static WebResponse GetResponseFromCache(Uri uri)
{
     RequestCachePolicy policy =
        new  RequestCachePolicy( RequestCacheLevel.CacheOnly);
    WebRequest request = WebRequest.Create(uri);
    request.CachePolicy = policy;
    WebResponse response = request.GetResponse();
    Console.WriteLine("Policy level is {0}.", policy.Level.ToString());
    Console.WriteLine("Is the response from the cache? {0}", response.IsFromCache);
    return response;
}

Keterangan

Anggota enumerasi ini digunakan untuk menginisialisasi RequestCachePolicy objek. Pengaturan saat ini untuk objek RequestCachePolicy tersedia di HttpRequestCachePolicy.Level properti .

Nilai ini BypassCache adalah perilaku cache default yang ditentukan dalam file konfigurasi mesin yang dikirim dengan .NET Framework. Tidak ada entri yang diambil dari cache, ditambahkan ke cache, atau dihapus dari cache antara klien dan server.

Properti HttpWebRequest.DefaultCachePolicy digunakan untuk mendapatkan atau mengatur kebijakan cache default untuk HttpWebRequest instans. Properti WebRequest.CachePolicy digunakan untuk mendapatkan atau mengatur kebijakan cache default untuk WebRequest instans. Properti WebRequest.CachePolicy digunakan untuk mendapatkan atau mengatur kebijakan cache untuk permintaan tertentu.

Jika perilaku cache adalah CacheIfAvailable atau Revalidate, salinan sumber daya yang diminta hanya ditambahkan ke cache jika aliran respons untuk sumber daya diambil dan dibaca ke akhir aliran. Dengan CacheIfAvailable, permintaan berikutnya untuk sumber daya yang sama akan menggunakan salinan cache. Dengan Revalidate, permintaan berikutnya untuk sumber daya yang sama akan menggunakan salinan cache jika tanda waktu untuk sumber daya yang di-cache sama dengan tanda waktu sumber daya di server.

Salinan sumber daya hanya ditambahkan ke cache jika aliran respons untuk sumber daya diambil dan dibaca ke akhir aliran. Jadi permintaan lain untuk sumber daya yang sama dapat menggunakan salinan cache, tergantung pada tingkat kebijakan cache default untuk permintaan ini.

Berlaku untuk

Lihat juga