Прочитать на английском

Поделиться через


WebRequest.CachePolicy Свойство

Определение

Возвращает или задает политику кэша для этого запроса.

public virtual System.Net.Cache.RequestCachePolicy? CachePolicy { get; set; }
public virtual System.Net.Cache.RequestCachePolicy CachePolicy { get; set; }

Значение свойства

Объект RequestCachePolicy, определяющий политику кэша.

Примеры

В следующем примере кода показано задание политики кэша для веб-запроса.

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

Комментарии

Внимание!

WebRequest, HttpWebRequest, ServicePointи WebClient устарели, и их не следует использовать для новой разработки. Вместо этого используйте HttpClient.

Текущая политика кэша и наличие запрошенного ресурса в кэше определяют, можно ли получить ответ из кэша. Использование кэшированных ответов обычно повышает производительность приложения, но существует риск того, что ответ в кэше не соответствует ответу на сервере.

Политику кэша по умолчанию можно указать в файле конфигурации Machine.config или задать свойство DefaultCachePolicy для запросов, использующих схему URI протокола передачи гипертекста (HTTP) или безопасного протокола передачи гипертекстов (HTTPS).

Копия ресурса добавляется только в кэш, если поток ответа для ресурса извлекается и считывается до конца потока. Таким образом, другой запрос на тот же ресурс может использовать кэшированную копию в зависимости от уровня политики кэша для этого запроса.

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

См. также раздел