HttpRequestCacheLevel Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает поведение кэширования для ресурсов, полученных с помощью протокола передачи гипертекстов (HTTP).
public enum class HttpRequestCacheLevel
public enum HttpRequestCacheLevel
type HttpRequestCacheLevel =
Public Enum HttpRequestCacheLevel
- Наследование
Поля
| Имя | Значение | Описание |
|---|---|---|
| Default | 0 | Удовлетворяет запросу ресурса либо с помощью кэшируемой копии ресурса, либо путем отправки запроса на ресурс на сервер. Действия определяются текущей политикой кэша и возрастом содержимого в кэше. Это уровень кэша, который должен использоваться большинством приложений. |
| BypassCache | 1 | Удовлетворяет запросу с помощью сервера. Записи не удаляются из кэшей, добавляются в кэши или удаляются из кэшей между клиентом и сервером. Записи не удаляются из кэшей, добавляются в кэши или удаляются из кэшей между клиентом и сервером. Это поведение кэша по умолчанию, указанное в файле конфигурации компьютера, который поставляется с .NET Framework. |
| CacheOnly | 2 | Удовлетворяет запросу с помощью локально кэшированного ресурса; не отправляет запрос на элемент, который не находится в кэше. При указании этого уровня политики кэша создается исключение, WebException если элемент не находится в кэше клиента. |
| CacheIfAvailable | 3 | Удовлетворяет запросу ресурса из кэша, если ресурс доступен; в противном случае отправляет запрос на ресурс на сервер. Если запрошенный элемент доступен в любом кэше между клиентом и сервером, запрос может быть удовлетворен промежуточным кэшем. |
| Revalidate | 4 | Сравнивает копию ресурса в кэше с копией на сервере. Если копия на сервере более новая, она используется для удовлетворения запроса и заменяет копию в кэше. Если копия в кэше совпадает с копией сервера, используется кэшируемая копия. В протоколе кэширования HTTP это достигается с помощью условного запроса. |
| Reload | 5 | Удовлетворяет запросу с помощью сервера. Ответ может быть сохранен в кэше. В протоколе кэширования HTTP это достигается с помощью директивы управления кэшем без кэша и заголовка без кэша |
| NoCacheNoStore | 6 | Никогда не удовлетворяет запросу с помощью ресурсов из кэша и не кэширует ресурсы. Если ресурс присутствует в локальном кэше, он удаляется. Этот уровень политики указывает промежуточным кэшам, которые они должны удалить ресурс. В протоколе кэширования HTTP это достигается с помощью директивы управления кэшем без кэша. |
| CacheOrNextCacheOnly | 7 | Удовлетворяет запросу ресурса из кэша локального компьютера или удаленного кэша в локальной сети. Если запрос не может быть удовлетворен, WebException создается исключение. В протоколе кэширования HTTP это достигается с помощью директивы управления кэшем |
| Refresh | 8 | Удовлетворяет запросу с помощью сервера или кэша, отличного от локального кэша. Прежде чем запрос может быть удовлетворен промежуточным кэшем, этот кэш должен проверить свою кэшированную запись с сервером. В протоколе кэширования HTTP это достигается с помощью директивы управления кэшем max-age = 0 и заголовка без кэша |
Примеры
В следующем примере кода для политики кэширования домена приложения задано значение Default.
// 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;
}
Комментарии
Это перечисление используется для задания уровня кэша, заданного объектами HttpRequestCachePolicy .
Это BypassCache значение является поведением кэша по умолчанию, указанным в файле конфигурации компьютера, который поставляется с .NET Framework. Записи не удаляются из кэшей, добавляются в кэши или удаляются из кэшей между клиентом и сервером.
Свойство HttpWebRequest.DefaultCachePolicy используется для получения или задания политики кэша по умолчанию для HttpWebRequest экземпляров. Свойство WebRequest.DefaultCachePolicy используется для получения или задания политики кэша по умолчанию для экземпляра WebRequest . Свойство CachePolicy используется для получения или задания политики кэша для определенного запроса.
Копия ресурса добавляется только в кэш, если поток ответа для ресурса извлекается и считывается до конца потока. Поэтому другой запрос для того же ресурса может использовать кэшированную копию в зависимости от уровня политики кэша по умолчанию для этого запроса.