Skip to main content
.NET Framework Class Library
RequestCachePolicy Class

Defines an application's caching requirements for resources obtained by using WebRequest objects.

Namespace:   System.Net.Cache
Assembly:  System (in System.dll)
Syntax
Public Class RequestCachePolicy
public class RequestCachePolicy
public ref class RequestCachePolicy
type RequestCachePolicy =  class end

The RequestCachePolicy type exposes the following members.

Constructors
  NameDescription
Public method RequestCachePolicyInitializes a new instance of the RequestCachePolicy class.
Public method RequestCachePolicy(RequestCacheLevel)Initializes a new instance of the RequestCachePolicy class. using the specified cache policy.
Top
Properties
  NameDescription
Public property LevelGets the RequestCacheLevel value specified when this instance was constructed.
Top
Methods
  NameDescription
Public method Equals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCodeServes as the default hash function. (Inherited from Object.)
Public method GetTypeGets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public method ToStringReturns a string representation of this instance. (Overrides ObjectToString.)
Top
Remarks

You can specify a default cache policy for your application by using the DefaultCachePolicy property or the application or machine configuration files. For more information, see <requestCaching> Element (Network Settings).

You can specify the cache policy for an individual request by using the CachePolicy property.

Caching for Web services is not supported.

Examples

The following code example creates a policy with Level set to CacheOnly, and uses it to set the cache policy of a WebRequest.

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;

} 
static WebResponse^ GetResponseFromCache( Uri^ uri )
{
   RequestCachePolicy^ policy = gcnew RequestCachePolicy( RequestCacheLevel::CacheOnly );
   WebRequest^ request = WebRequest::Create( uri );
   request->CachePolicy = policy;
   WebResponse^ response = request->GetResponse();
   Console::WriteLine( L"Policy level is {0}.", policy->Level );
   Console::WriteLine( L"Is the response from the cache? {0}", response->IsFromCache );
   return response;
}
Version Information

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.