HttpRequestCacheLevel Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan perilaku penembolokan untuk sumber daya yang diperoleh menggunakan protokol Transfer Hypertext (HTTP).
public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel =
Public Enum HttpRequestCacheLevel
- Warisan
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. 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. |
CacheOrNextCacheOnly | 7 | Memenuhi permintaan sumber daya baik dari cache komputer lokal atau cache jarak jauh di jaringan area lokal. Jika permintaan tidak dapat dipenuhi, WebException pengecualian akan dilemparkan. Dalam protokol penembolokan HTTP, ini dicapai menggunakan direktif |
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 kontrol cache tanpa cache. |
Refresh | 8 | Memenuhi permintaan dengan menggunakan server atau cache selain cache lokal. Sebelum permintaan dapat dipenuhi oleh cache perantara, cache tersebut harus memvalidasi ulang entri cache dengan server. Dalam protokol penembolokan HTTP, ini dicapai menggunakan direktif kontrol max-age = 0 cache dan header no-cache |
Reload | 5 | Memenuhi permintaan dengan menggunakan server. Respons mungkin disimpan di cache. Dalam protokol penembolokan HTTP, ini dicapai menggunakan direktif kontrol cache no-cache dan header tanpa cache |
Revalidate | 4 | Membandingkan salinan sumber daya dalam cache dengan salinan di server. Jika salinan di server lebih baru, itu digunakan untuk memenuhi permintaan dan menggantikan salinan dalam cache. Jika salinan dalam cache sama dengan salinan server, salinan yang di-cache digunakan. Dalam protokol caching HTTP, ini dicapai dengan menggunakan permintaan bersyarat. |
Contoh
Contoh kode berikut menetapkan kebijakan penembolokan domain aplikasi ke Default.
// The following method demonstrates overriding the
// caching policy for a request.
static WebResponse^ GetResponseNoCache( Uri^ uri )
{
// Set a default policy level for the "http:" and "https" schemes.
HttpRequestCachePolicy^ policy = gcnew HttpRequestCachePolicy( HttpRequestCacheLevel::Default );
HttpWebRequest::DefaultCachePolicy = policy;
// Create the request.
WebRequest^ request = WebRequest::Create( uri );
// Define a cache policy for this request only.
HttpRequestCachePolicy^ noCachePolicy = gcnew HttpRequestCachePolicy( HttpRequestCacheLevel::NoCacheNoStore );
request->CachePolicy = noCachePolicy;
WebResponse^ response = request->GetResponse();
Console::WriteLine( L"IsFromCache? {0}", response->IsFromCache );
return response;
}
// The following method demonstrates overriding the
// caching policy for a request.
public static WebResponse GetResponseNoCache(Uri uri)
{
// Set a default policy level for the "http:" and "https" schemes.
HttpRequestCachePolicy policy = new HttpRequestCachePolicy(HttpRequestCacheLevel.Default);
HttpWebRequest.DefaultCachePolicy = policy;
// Create the request.
WebRequest request = WebRequest.Create(uri);
// Define a cache policy for this request only.
HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
request.CachePolicy = noCachePolicy;
WebResponse response = request.GetResponse();
Console.WriteLine("IsFromCache? {0}", response.IsFromCache);
return response;
}
Keterangan
Enumerasi ini digunakan untuk mengatur tingkat cache yang ditentukan oleh HttpRequestCachePolicy objek.
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.DefaultCachePolicy digunakan untuk mendapatkan atau mengatur kebijakan cache default untuk WebRequest instans. Properti CachePolicy digunakan untuk mendapatkan atau mengatur kebijakan cache untuk permintaan tertentu.
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.