HttpRequestCacheLevel Sabit listesi

Tanım

Köprü Metni Aktarım protokolü (HTTP) kullanılarak alınan kaynaklar için önbelleğe alma davranışını belirtir.

public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel = 
Public Enum HttpRequestCacheLevel
Devralma
HttpRequestCacheLevel

Alanlar

BypassCache 1

Sunucuyu kullanarak bir isteği karşılar. Önbelleklerden hiçbir girdi alınmaz, önbelleklere eklenmez veya istemci ile sunucu arasındaki önbelleklerden kaldırılmaz. Önbelleklerden hiçbir girdi alınmaz, önbelleklere eklenmez veya istemci ile sunucu arasındaki önbelleklerden kaldırılmaz. Bu, .NET Framework ile birlikte gelen makine yapılandırma dosyasında belirtilen varsayılan önbellek davranışıdır.

CacheIfAvailable 3

Kaynak kullanılabilir durumdaysa önbellekten bir kaynak isteğini karşılar; aksi takdirde, sunucuya bir kaynak isteği gönderir. İstenen öğe istemci ile sunucu arasındaki herhangi bir önbellekte kullanılabiliyorsa, istek ara önbellek tarafından karşılanmış olabilir.

CacheOnly 2

Yerel olarak önbelleğe alınmış kaynağı kullanarak bir isteği karşılar; önbellekte olmayan bir öğe için istek göndermez. Bu önbellek ilkesi düzeyi belirtildiğinde, öğe istemci önbelleğinde değilse bir WebException özel durum oluşturulur.

CacheOrNextCacheOnly 7

Yerel bilgisayarın önbelleğinden veya yerel ağ üzerindeki uzak önbellekten bir kaynak isteğini karşılar. İstek karşılanamazsa bir WebException özel durum oluşturulur. HTTP önbelleğe alma protokolünde bu, önbellek denetimi yönergesi only-if-cached kullanılarak elde edilir.

Default 0

Kaynağın önbelleğe alınmış kopyasını kullanarak veya sunucuya kaynak için bir istek göndererek bir kaynak isteğini karşılar. Gerçekleştirilen eylem geçerli önbellek ilkesi ve önbellekteki içeriğin yaşı tarafından belirlenir. Bu, çoğu uygulama tarafından kullanılması gereken önbellek düzeyidir.

NoCacheNoStore 6

Önbellekteki kaynakları kullanarak hiçbir zaman isteği karşılar ve kaynakları önbelleğe almaz. Kaynak yerel önbellekte varsa kaldırılır. Bu ilke düzeyi, ara önbelleklere kaynağı kaldırmaları gerektiğini gösterir. HTTP önbelleğe alma protokolünde bu, önbelleksiz önbellek denetimi yönergesi kullanılarak elde edilir.

Refresh 8

Sunucuyu veya yerel önbellek dışındaki bir önbelleği kullanarak isteği karşılar. İsteğin bir ara önbellek tarafından karşılanabilmesi için önce bu önbelleğin önbelleğe alınmış girdisini sunucuyla yeniden doğrulaması gerekir. HTTP önbelleğe alma protokolünde bu, max-age = 0 önbellek denetimi yönergesi ve önbelleksiz Pragma üst bilgisi kullanılarak elde edilir.

Reload 5

Sunucuyu kullanarak bir isteği karşılar. Yanıt önbelleğe kaydedilebilir. HTTP önbelleğe alma protokolünde bu, önbelleksiz önbellek denetimi yönergesi ve önbelleksiz Pragma üst bilgisi kullanılarak oluşturulduğunda elde edilir.

Revalidate 4

Önbellekteki kaynağın kopyasını sunucudaki kopyayla karşılaştırır. Sunucudaki kopya daha yeniyse, isteği karşılamak için kullanılır ve önbellekteki kopyanın yerini alır. Önbellekteki kopya sunucu kopyasıyla aynıysa, önbelleğe alınan kopya kullanılır. HTTP önbelleğe alma protokolünde bu, bir koşullu istek kullanılarak oluşturulduğunda elde edilir.

Örnekler

Aşağıdaki kod örneği, uygulama etki alanının önbelleğe alma ilkesini Varsayılan olarak ayarlar.

// 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;
}

Açıklamalar

Bu numaralandırma, nesneler tarafından HttpRequestCachePolicy belirtilen önbellek düzeyini ayarlamak için kullanılır.

Bu BypassCache değer, .NET Framework ile birlikte gelen makine yapılandırma dosyasında belirtilen varsayılan önbellek davranışıdır. Önbelleklerden hiçbir girdi alınmaz, önbelleklere eklenmez veya istemci ile sunucu arasındaki önbelleklerden kaldırılmaz.

HttpWebRequest.DefaultCachePolicy özelliği, örnekler için varsayılan önbellek ilkesini almak veya ayarlamak için HttpWebRequest kullanılır. WebRequest.DefaultCachePolicy özelliği, bir WebRequest örneğin varsayılan önbellek ilkesini almak veya ayarlamak için kullanılır. CachePolicy özelliği, belirli bir istek için önbellek ilkesini almak veya ayarlamak için kullanılır.

Bir kaynağın kopyası önbelleğe yalnızca kaynağın yanıt akışı alınır ve akışın sonuna okunursa eklenir. Bu nedenle, aynı kaynağa yönelik başka bir istek, bu isteğin varsayılan önbellek ilkesi düzeyine bağlı olarak önbelleğe alınmış bir kopya kullanabilir.

Şunlara uygulanır

Ayrıca bkz.