<?xml version="1.0" encoding="utf-8"?>
<Type Name="HttpRequestCacheLevel" FullName="System.Net.Cache.HttpRequestCacheLevel">
  <TypeSignature Language="C#" Value="public enum HttpRequestCacheLevel" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed HttpRequestCacheLevel extends System.Enum" />
  <AssemblyInfo>
    <AssemblyName>System</AssemblyName>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Enum</BaseTypeName>
  </Base>
  <Docs>
    <since version=".NET 2.0" />
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>This enumeration is used to set the cache level specified by <see cref="T:System.Net.Cache.HttpRequestCachePolicy" /> objects.</para>
      <para>This <see cref="F:System.Net.Cache.HttpRequestCacheLevel.BypassCache" /> value is the default cache behavior specified in the machine configuration file that ships with the .NET Framework. No entries are taken from caches, added to caches, or removed from caches between the client and server.</para>
      <para>The <see cref="P:System.Net.HttpWebRequest.DefaultCachePolicy" /> property is used to get or set the default cache policy for <see cref="T:System.Net.HttpWebRequest" /> instances. The <see cref="P:System.Net.WebRequest.CachePolicy" /> property is used to get or set the default cache policy for a <see cref="T:System.Net.WebRequest" /> instances. The <see cref="P:System.Net.WebRequest.CachePolicy" /> property is used to get or set the cache policy for a specific request. </para>
      <para>A copy of a resource is only added to the cache if the response stream for the resource is retrieved and read to the end of the stream. So another request for the same resource could use a cached copy, depending on the default cache policy level for this request. </para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Specifies caching behavior for resources obtained using the Hypertext Transfer protocol (HTTP).</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="BypassCache">
      <MemberSignature Language="C#" Value="BypassCache" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Net.Cache.HttpRequestCacheLevel BypassCache = int32(1)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Cache.HttpRequestCacheLevel</ReturnType>
      </ReturnValue>
      <Docs>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Satisfies a request by using the server. No entries are taken from caches, added to caches, or removed from caches between the client and server. No entries are taken from caches, added to caches, or removed from caches between the client and server. This is the default cache behavior specified in the machine configuration file that ships with the .NET Framework.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="CacheIfAvailable">
      <MemberSignature Language="C#" Value="CacheIfAvailable" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Net.Cache.HttpRequestCacheLevel CacheIfAvailable = int32(3)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Cache.HttpRequestCacheLevel</ReturnType>
      </ReturnValue>
      <Docs>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Satisfies a request for a resource from the cache if the resource is available; otherwise, sends a request for a resource to the server. If the requested item is available in any cache between the client and the server, the request might be satisfied by the intermediate cache.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="CacheOnly">
      <MemberSignature Language="C#" Value="CacheOnly" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Net.Cache.HttpRequestCacheLevel CacheOnly = int32(2)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Cache.HttpRequestCacheLevel</ReturnType>
      </ReturnValue>
      <Docs>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Satisfies a request using the locally cached resource; does not send a request for an item that is not in the cache. When this cache policy level is specified, a <see cref="T:System.Net.WebException" /> exception is thrown if the item is not in the client cache.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="CacheOrNextCacheOnly">
      <MemberSignature Language="C#" Value="CacheOrNextCacheOnly" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Net.Cache.HttpRequestCacheLevel CacheOrNextCacheOnly = int32(7)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Cache.HttpRequestCacheLevel</ReturnType>
      </ReturnValue>
      <Docs>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Satisfies a request for a resource either from the local computer's cache or a remote cache on the local area network. If the request cannot be satisfied, a <see cref="T:System.Net.WebException" /> exception is thrown. In the HTTP caching protocol, this is achieved using the only-if-cached cache control directive.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Default">
      <MemberSignature Language="C#" Value="Default" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Net.Cache.HttpRequestCacheLevel Default = int32(0)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Cache.HttpRequestCacheLevel</ReturnType>
      </ReturnValue>
      <Docs>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Satisfies a request for a resource either by using the cached copy of the resource or by sending a request for the resource to the server. The action taken is determined by the current cache policy and the age of the content in the cache. This is the cache level that should be used by most applications.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="NoCacheNoStore">
      <MemberSignature Language="C#" Value="NoCacheNoStore" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Net.Cache.HttpRequestCacheLevel NoCacheNoStore = int32(6)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Cache.HttpRequestCacheLevel</ReturnType>
      </ReturnValue>
      <Docs>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Never satisfies a request by using resources from the cache and does not cache resources. If the resource is present in the local cache, it is removed. This policy level indicates to intermediate caches that they should remove the resource. In the HTTP caching protocol, this is achieved using the no-cache cache control directive.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Refresh">
      <MemberSignature Language="C#" Value="Refresh" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Net.Cache.HttpRequestCacheLevel Refresh = int32(8)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Cache.HttpRequestCacheLevel</ReturnType>
      </ReturnValue>
      <Docs>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Satisfies a request by using the server or a cache other than the local cache. Before the request can be satisfied by an intermediate cache, that cache must revalidate its cached entry with the server. In the HTTP caching protocol, this is achieved using the max-age = 0 cache control directive and the no-cache Pragma header.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Reload">
      <MemberSignature Language="C#" Value="Reload" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Net.Cache.HttpRequestCacheLevel Reload = int32(5)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Cache.HttpRequestCacheLevel</ReturnType>
      </ReturnValue>
      <Docs>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Satisfies a request by using the server. The response might be saved in the cache. In the HTTP caching protocol, this is achieved using the no-cache cache control directive and the no-cache Pragma header.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Revalidate">
      <MemberSignature Language="C#" Value="Revalidate" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Net.Cache.HttpRequestCacheLevel Revalidate = int32(4)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Cache.HttpRequestCacheLevel</ReturnType>
      </ReturnValue>
      <Docs>
        <since version=".NET 2.0" />
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Compares the copy of the resource in the cache with the copy on the server. If the copy on the server is newer, it is used to satisfy the request and replaces the copy in the cache. If the copy in the cache is the same as the server copy, the cached copy is used. In the HTTP caching protocol, this is achieved using a conditional request.</para>
        </summary>
      </Docs>
    </Member>
  </Members>
</Type>