Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
 CacheItemUpdateCallback Delegate

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
CacheItemUpdateCallback Delegate

Defines a callback method for notifying applications before a cached item is removed from the cache.

Namespace:  System.Web.Caching
Assembly:  System.Web (in System.Web.dll)
Visual Basic (Declaration)
Public Delegate Sub CacheItemUpdateCallback ( _
    key As String, _
    reason As CacheItemUpdateReason, _
    <OutAttribute> ByRef expensiveObject As Object, _
    <OutAttribute> ByRef dependency As CacheDependency, _
    <OutAttribute> ByRef absoluteExpiration As DateTime, _
    <OutAttribute> ByRef slidingExpiration As TimeSpan _
)
Visual Basic (Usage)
Dim instance As New CacheItemUpdateCallback(AddressOf HandlerMethod)
C#
public delegate void CacheItemUpdateCallback(
    string key,
    CacheItemUpdateReason reason,
    out Object expensiveObject,
    out CacheDependency dependency,
    out DateTime absoluteExpiration,
    out TimeSpan slidingExpiration
)
Visual C++
public delegate void CacheItemUpdateCallback(
    String^ key, 
    CacheItemUpdateReason reason, 
    [OutAttribute] Object^% expensiveObject, 
    [OutAttribute] CacheDependency^% dependency, 
    [OutAttribute] DateTime% absoluteExpiration, 
    [OutAttribute] TimeSpan% slidingExpiration
)
JScript
JScript does not support delegates.

Parameters

key
Type: System..::.String
The identifier of the item that is being removed from the cache.
reason
Type: System.Web.Caching..::.CacheItemUpdateReason
The reason that the item is being removed from the cache.
expensiveObject
Type: System..::.Object%
When this method returns, contains the cached item object that contains the updates.
dependency
Type: System.Web.Caching..::.CacheDependency%
When this method returns, contains the object that defines the dependency between the item object and a file, a cache key, an array of either, or another CacheDependency object.
absoluteExpiration
Type: System..::.DateTime%
When this method returns, contains the time at which the object expired.
slidingExpiration
Type: System..::.TimeSpan%
When this method returns, contains the interval between the time that the object was last accessed and the time at which the object expired.

When an object expires in the cache, ASP.NET calls the CacheItemUpdateCallback method with the key for the cache item and the reason you might want to update the item. The remaining parameters of this method are out parameters. You supply the new cached item and optional expiration and dependency values to use when refreshing the cached item.

The update callback is not called if the cached item is explicitly removed by using a call to Remove()()().

If you want the cached item to be removed from the cache, you must return nullNothingnullptra null reference (Nothing in Visual Basic) in the expensiveObject parameter. Otherwise, you return a reference to the new cached data by using the expensiveObject parameter. If you do not specify expiration or dependency values, the item will be removed from the cache only when memory is needed.

If the callback method throws an exception, ASP.NET suppresses the exception and removes the cached value.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

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

.NET Framework

Supported in: 3.5 SP1, 3.0 SP2, 2.0 SP2
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Actually introduced in .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1      David M. Kean   |   Edit   |   Show History
Despite what the version information above states, this type was actually introduced in .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1. It was not introduced in .NET 2.0 SP1 and 3.0 SP1.
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker