RequestCacheLevel Sabit listesi

Tanım

ve türetilmiş sınıfları kullanılarak WebRequest elde edilen kaynaklar için önbelleğe alma davranışını belirtir.

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

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. 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.

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, önbellek denetimi yönergesi no-cache 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, önbellek denetimi yönergesi ve önbellek Pragma yok üst bilgisi kullanılarak no-cache elde edilir.

Revalidate 4

Zaman damgası sunucudaki kaynağın zaman damgasıyla aynıysa, kaynağın önbelleğe alınmış kopyasını kullanarak bir isteği karşılar; aksi takdirde, kaynak sunucudan indirilir, arayana sunulur ve önbellekte depolanır.

Örnekler

Aşağıdaki kod örneği, yalnızca önbellekte olduğunda kaynak döndüren bir ilke oluşturur.

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

Açıklamalar

Bu numaralandırmanın üyeleri nesneleri başlatmak RequestCachePolicy için kullanılır. Nesnenin RequestCachePolicy geçerli ayarı özelliğinde HttpRequestCachePolicy.Level kullanılabilir.

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.CachePolicy özelliği, örneklerin WebRequest varsayılan önbellek ilkesini almak veya ayarlamak için kullanılır. WebRequest.CachePolicy özelliği, belirli bir istek için önbellek ilkesini almak veya ayarlamak için kullanılır.

Önbellek davranışı veya RevalidateiseCacheIfAvailable, istenen kaynağın bir kopyası yalnızca kaynağın yanıt akışı alınır ve akışın sonuna okunursa önbelleğe eklenir. ile CacheIfAvailable, aynı kaynak için sonraki istekler önbelleğe alınmış bir kopya kullanır. ile Revalidate, önbelleğe alınan kaynağın zaman damgası sunucudaki kaynağın zaman damgasıyla aynıysa, aynı kaynağa yönelik sonraki istekler önbelleğe alınmış bir kopya kullanı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ı kaynak için 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.