RequestCacheLevel Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
WebRequest ve türetilmiş sınıfları kullanılarak elde edilen kaynaklar için önbelleğe alma davranışını belirtir.
public enum class RequestCacheLevel
public enum RequestCacheLevel
type RequestCacheLevel =
Public Enum RequestCacheLevel
- Devralma
Alanlar
| Name | Değer | Description |
|---|---|---|
| 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 ilkesine ve önbellekteki içeriğin yaşına göre belirlenir. Bu, çoğu uygulama tarafından kullanılması gereken önbellek düzeyidir. |
| 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. |
| 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. |
| 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. |
| Revalidate | 4 | Zaman damgası sunucudaki kaynağın zaman damgasıyla aynıysa, kaynağın önbelleğe alınmış kopyasını kullanarak isteği karşılar; aksi takdirde, kaynak sunucudan indirilir, arayana sunulur ve önbellekte depolanır. |
| 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 önbelleksiz |
| NoCacheNoStore | 6 | Önbellekteki kaynakları kullanarak hiçbir zaman bir 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 |
Örnekler
Aşağıdaki kod örneği, yalnızca önbellekte bulunan bir kaynağı döndüren ilke oluşturur.
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, aynı kaynağa yönelik sonraki istekler, önbelleğe alınan kaynağın zaman damgası sunucudaki kaynağın zaman damgasıyla aynıysa önbelleğe alınmış bir kopya kullanır.
Bir kaynağın kopyası yalnızca kaynağın yanıt akışı alınır ve akışın sonuna okunursa önbelleğe 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.