Export (0) Print
Expand All

Cache Class

Implements the cache for a Web application. This class cannot be inherited.

System.Object
  System.Web.Caching.Cache

Namespace:  System.Web.Caching
Assembly:  System.Web (in System.Web.dll)

'Declaration
Public NotInheritable Class Cache _
	Implements IEnumerable

The Cache type exposes the following members.

  NameDescription
Public methodCacheInfrastructure. Initializes a new instance of the Cache class.
Top

  NameDescription
Public propertyCountGets the number of items stored in the cache.
Public propertyEffectivePercentagePhysicalMemoryLimitGets the percentage of physical memory that can be consumed by an application before ASP.NET starts removing items from the cache.
Public propertyEffectivePrivateBytesLimitGets the number of bytes available for the cache.
Public propertyItemGets or sets the cache item at the specified key.
Top

  NameDescription
Public methodAddAdds the specified item to the Cache object with dependencies, expiration and priority policies, and a delegate you can use to notify your application when the inserted item is removed from the Cache.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodGetRetrieves the specified item from the Cache object.
Public methodGetEnumeratorRetrieves a dictionary enumerator used to iterate through the key settings and their values contained in the cache.
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodInsert(String, Object)Inserts an item into the Cache object with a cache key to reference its location, using default values provided by the CacheItemPriority enumeration.
Public methodInsert(String, Object, CacheDependency)Inserts an object into the Cache that has file or key dependencies.
Public methodInsert(String, Object, CacheDependency, DateTime, TimeSpan)Inserts an object into the Cache with dependencies and expiration policies.
Public methodInsert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemUpdateCallback)Inserts an object into the Cache object together with dependencies, expiration policies, and a delegate that you can use to notify the application before the item is removed from the cache.
Public methodInsert(String, Object, CacheDependency, DateTime, TimeSpan, CacheItemPriority, CacheItemRemovedCallback)Inserts an object into the Cache object with dependencies, expiration and priority policies, and a delegate you can use to notify your application when the inserted item is removed from the Cache.
Public methodRemoveRemoves the specified item from the application's Cache object.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Public Extension MethodAsParallelOverloaded. Enables parallelization of a query. (Defined by ParallelEnumerable.)
Public Extension MethodAsParallelOverloaded. (Defined by ParallelEnumerable.)
Public Extension MethodAsQueryableOverloaded. Converts an IEnumerable to an IQueryable. (Defined by Queryable.)
Public Extension MethodAsQueryableOverloaded. (Defined by Queryable.)
Public Extension MethodCast(Of TResult)Overloaded. Casts the elements of an IEnumerable to the specified type. (Defined by Enumerable.)
Public Extension MethodCast(Of TResult)Overloaded. (Defined by Enumerable.)
Public Extension MethodOfType(Of TResult)Overloaded. Filters the elements of an IEnumerable based on a specified type. (Defined by Enumerable.)
Public Extension MethodOfType(Of TResult)Overloaded. (Defined by Enumerable.)
Top

  NameDescription
Public fieldStatic memberNoAbsoluteExpirationUsed in the absoluteExpiration parameter in an Insert method call to indicate the item should never expire. This field is read-only.
Public fieldStatic memberNoSlidingExpirationUsed as the slidingExpiration parameter in an Insert or Add method call to disable sliding expirations. This field is read-only.
Top

  NameDescription
Explicit interface implemetationPrivate methodIEnumerable.GetEnumeratorReturns an enumerator that can iterate through the Cache object collection.
Top

One instance of this class is created per application domain, and it remains valid as long as the application domain remains active. Information about an instance of this class is available through the Cache property of the HttpContext object or the Cache property of the Page object.

NoteNote

The Cache class is not intended for use outside of ASP.NET applications. It was designed and tested for use in ASP.NET to provide caching for Web applications. For other types of applications, such as console applications or Windows Forms applications, use the ObjectCache class.

TopicLocation
How to: Delete Items from the Cache in ASP.NETBuilding ASP .NET Web Applications
How to: Add Items to the CacheBuilding ASP .NET Web Applications
How to: Delete Items from the Cache in ASP.NETBuilding ASP .NET Web Applications
How to: Add Items to the CacheBuilding ASP .NET Web Applications

The following example is a page that shows users the value assigned to an item in the cache, and then notifies them when the item is removed from the cache. It creates a RemovedCallback method, which has the signature of the CacheItemRemovedCallback delegate, to notify users when the cache item is removed, and it uses the CacheItemRemovedReason enumeration to tell them why it was removed. In addition, it uses the Cache.Item property to add objects to the cache and retrieve the value of those objects. In the AddItemToCache method, it uses the Cache.Add method to add an item to the cache. To use the CacheItemRemovedCallback delegate, you must add an item to the cache with this method or the Cache.Insert method, so that that ASP.NET can automatically make the proper method calls when the item is removed. The custom RemoveItemFromCache method uses the Cache.Remove method to explicitly delete the item from the cache, causing the RemovedCallback method to be invoked.

NoteNote

The instance of Cache that is accessed by the snippet below is a member of the Page object that this sample inherits.

<%@ Page Language="VB" %>

<html>
 <Script runat=server>
    Shared itemRemoved As boolean = false
    Shared reason As CacheItemRemovedReason
    Dim onRemove As CacheItemRemovedCallback

    Public Sub RemovedCallback(k As String, v As Object, r As CacheItemRemovedReason)
      itemRemoved = true
      reason = r
    End Sub

    Public Sub AddItemToCache(sender As Object, e As EventArgs)
        itemRemoved = false

        onRemove = New CacheItemRemovedCallback(AddressOf Me.RemovedCallback)

        If (IsNothing(Cache("Key1"))) Then
          Cache.Add("Key1", "Value 1", Nothing, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove)
        End If
    End Sub

    Public Sub RemoveItemFromCache(sender As Object, e As EventArgs)
        If (Not IsNothing(Cache("Key1"))) Then
          Cache.Remove("Key1")
        End If
    End Sub
 </Script>

 <body>
  <Form runat="server">
    <input type=submit OnServerClick="AddItemToCache" value="Add Item To Cache" runat="server"/>
    <input type=submit OnServerClick="RemoveItemFromCache" value="Remove Item From Cache" runat="server"/>
  </Form>
<%
If (itemRemoved) Then
    Response.Write("RemovedCallback event raised.")
    Response.Write("<BR>")
    Response.Write("Reason: <B>" + reason.ToString() + "</B>")
Else
    Response.Write("Value of cache key: <B>" + Server.HtmlEncode(CType(Cache("Key1"),String)) + "</B>")
End If
%>
 </body>
</html>

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

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.

This type is thread safe.

Show:
© 2014 Microsoft