Aracılığıyla paylaş


Nasıl yapılır: Bir Uygulama için Location-Based Önbellek İlkesi Ayarlama

Konum tabanlı önbellek ilkeleri, uygulamanın istenen kaynağın konumuna göre önbelleğe alma davranışını açıkça tanımlamasına olanak sağlar. Bu konuda, önbellek ilkesinin program aracılığıyla ayarlanması gösterilmektedir. Yapılandırma dosyalarını kullanarak bir uygulamanın ilkesini ayarlama hakkında bilgi için bkz <requestCaching> . Öğe (Ağ Ayarları).

Bir uygulama için konum tabanlı önbellek ilkesi ayarlamak için

  1. RequestCachePolicy Bir veya HttpRequestCachePolicy nesnesi oluşturun.

  2. İlke nesnesini uygulama etki alanı için varsayılan olarak ayarlayın.

İstenen kaynakları önbellekten alan bir ilke ayarlamak için

  • Önbellek düzeyini CacheIfAvailableolarak ayarlayarak istenen kaynakları önbellekten alan ve başka bir şekilde sunucuya istek gönderen bir ilke oluşturun. bir istek, uzak önbellekler de dahil olmak üzere istemci ve sunucu arasındaki herhangi bir önbellek tarafından karşılanabilir.

    public static void UseCacheIfAvailable()
    {
        HttpRequestCachePolicy policy = new HttpRequestCachePolicy
            (HttpRequestCacheLevel.CacheIfAvailable);
        HttpWebRequest.DefaultCachePolicy = policy;
    }
    
    Public Shared Sub UseCacheIfAvailable()
        Dim policy As New HttpRequestCachePolicy _
             (HttpRequestCacheLevel.CacheIfAvailable)
        HttpWebRequest.DefaultCachePolicy = policy
    End Sub
    

Herhangi bir önbelleğin kaynak sağlamasını engelleyen bir ilke ayarlamak için

  • Önbellek düzeyini NoCacheNoStoreolarak ayarlayarak herhangi bir önbelleğin istenen kaynakları sağlamasını engelleyen bir ilke oluşturun. Bu ilke düzeyi, varsa kaynağı yerel önbellekten kaldırır ve uzak önbelleklere kaynağı kaldırmaları gerektiğini belirtir.

    public static void DoNotUseCache()
    {
    HttpRequestCachePolicy policy = new HttpRequestCachePolicy
            (HttpRequestCacheLevel.NoCacheNoStore);
        HttpWebRequest.DefaultCachePolicy = policy;
    }
    
    Public Shared Sub DoNotUseCache()
        Dim policy As New HttpRequestCachePolicy _
            (HttpRequestCacheLevel.NoCacheNoStore)
        HttpWebRequest.DefaultCachePolicy = policy
    End Sub
    

İstenen kaynakları yalnızca yerel önbellekte olduklarında döndüren bir ilke ayarlamak için

  • İstenen kaynakları yalnızca yerel önbellekte olduklarında döndüren bir ilke oluşturmak için önbellek düzeyini olarak CacheOnlyayarlayın. İstenen kaynak önbellekte değilse, bir WebException özel durum oluşturulur.

    public static void OnlyUseCache()
    {
        HttpRequestCachePolicy policy = new HttpRequestCachePolicy
            (HttpRequestCacheLevel.CacheOnly);
        HttpWebRequest.DefaultCachePolicy = policy;
    }
    
    Public Shared Sub OnlyUseCache()
        Dim policy As New HttpRequestCachePolicy _
            (HttpRequestCacheLevel.CacheOnly)
        HttpWebRequest.DefaultCachePolicy = policy
    End Sub
    

Yerel önbelleğin kaynak sağlamasını engelleyen bir ilke ayarlamak için

  • Önbellek düzeyini Refresholarak ayarlayarak yerel önbelleğin istenen kaynakları sağlamasını engelleyen bir ilke oluşturun. İstenen kaynak bir ara önbellekteyse ve başarıyla yeniden doğrulanırsa, ara önbellek istenen kaynağı sağlayabilir.

    public static void DoNotUseLocalCache()
    {
     HttpRequestCachePolicy policy = new HttpRequestCachePolicy
            (HttpRequestCacheLevel.Refresh);
        HttpWebRequest.DefaultCachePolicy = policy;
    }
    
    Public Shared Sub DoNotUseLocalCache()
        Dim policy As New HttpRequestCachePolicy _
            (HttpRequestCacheLevel.Refresh)
        HttpWebRequest.DefaultCachePolicy = policy
    End Sub
    

Herhangi bir önbelleğin istenen kaynakları sağlamasını engelleyen bir ilke ayarlamak için

  • Önbellek düzeyini Reloadolarak ayarlayarak herhangi bir önbelleğin istenen kaynakları sağlamasını engelleyen bir ilke oluşturun. Sunucu tarafından döndürülen kaynak önbellekte depolanabilir.

    public static void SendToServer()
    {
    HttpRequestCachePolicy policy = new HttpRequestCachePolicy
            (HttpRequestCacheLevel.Reload);
        HttpWebRequest.DefaultCachePolicy = policy;
    }
    
    Public Shared Sub SendToServer()
        Dim policy As New HttpRequestCachePolicy _
            (HttpRequestCacheLevel.Reload)
        HttpWebRequest.DefaultCachePolicy = policy
    End Sub
    

Sunucudaki kaynak önbelleğe alınmış kopyadan daha yeni değilse, herhangi bir önbelleğin istenen kaynakları sağlamasına izin veren bir ilke ayarlamak için

  • Önbellek düzeyini Revalidateolarak ayarlayarak sunucudaki kaynak önbelleğe alınan kopyadan daha yeni değilse, herhangi bir önbelleğin istenen kaynakları sağlamasına izin veren bir ilke oluşturun.

    public static void CheckServer()
    {
    HttpRequestCachePolicy policy = new HttpRequestCachePolicy
             (HttpRequestCacheLevel.Revalidate);
        HttpWebRequest.DefaultCachePolicy = policy;
    }
    
    Public Shared Sub CheckServer()
        Dim policy As New HttpRequestCachePolicy _
            (HttpRequestCacheLevel.Revalidate)
        HttpWebRequest.DefaultCachePolicy = policy
    End Sub
    

Ayrıca bakınız