Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

CacheDependency Constructor (String[], String[], DateTime)

Initializes a new instance of the CacheDependency class that monitors an array of paths (to files or directories), an array of cache keys, or both for changes.

Namespace:  System.Web.Caching
Assembly:  System.Web (in System.Web.dll)
public CacheDependency(
	string[] filenames,
	string[] cachekeys,
	DateTime start
)

Parameters

filenames
Type: System.String[]

An array of paths (to files or directories) that the cached object is dependent upon. When any of these resources changes, the cached object becomes obsolete and is removed from the cache.

cachekeys
Type: System.String[]

An array of cache keys that the new object monitors for changes. When any of these cache keys changes, the cached object associated with this dependency object becomes obsolete and is removed from the cache.

start
Type: System.DateTime

The date and time against which to check the last modified date of the objects passed in the filenames and cachekeys arrays.

Also, if any of the directories or files specified in the filenames parameter is not found in the file system, it is treated as missing. If a directory or file is missing when the object with the dependency is added to the Cache, the cached object will be removed from the Cache when that directory or file is created.

For example, assume that you add an object to the Cache with a dependency on the following file path: c:\stocks\xyz.dat. If that file is not found when the CacheDependency object is created, but is created later, the cached object is removed upon the creation of the xyz.dat file.

NoteNote

Change tracking begins immediately and is not directly based on the start parameter. Use the start parameter to pass a date and time in the past against which you want to check the last modified date of any object passed in the filenames or cachekeys parameters. If the last modified date of any of those objects is later than the date and time set passed in the start parameter, the cached item is removed from the Cache.

The following code example creates a CreateDependency method. When this method is called, it creates a DateTime object and the Cache.Item property is used to add an item to the cache with a key parameter of key1 and a value of Value 1. An array of strings, dependencyKey, is then created with the value of key1 as well. This CacheDependency constructor then instantiates a CacheDependency object that passes dependencyKey and the DateTime object as parameter arguments. The Cache.Insert method is called next, using the CacheDependency object as a parameter. This makes the object added to the cache using the Insert method dependent on the key1 key.

public void CreateDependency(Object sender, EventArgs e)
{
    // Create a DateTime object.
    DateTime dt = DateTime.Now.AddSeconds(10);

    // Create a cache entry.
    Cache["key1"] = "Value 1";

    // Make key2 dependent on key1.
    String[] dependencyKey = new String[1];
    dependencyKey[0] = "key1";
    CacheDependency dependency = new CacheDependency(null, dependencyKey, dt);

    Cache.Insert("key2", "Value 2", dependency);

    DisplayValues();
}

.NET Framework

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

Windows Phone 8.1, Windows Phone 8, 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.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.