System.Runtime.Caching Namespace
The System.Runtime.Caching namespace contains types that let you implement caching in NET Framework applications.
| Class | Description | |
|---|---|---|
![]() | CacheEntryChangeMonitor | Provides a base class that represents a ChangeMonitor type that can be implemented in order to monitor changes to cache entries. |
![]() | CacheEntryRemovedArguments | Provides information about a cache entry that was removed from the cache. |
![]() | CacheEntryUpdateArguments | Provides information about a cache entry that will be removed from the cache. |
![]() | CacheItem | Represents an individual cache entry in the cache. |
![]() | CacheItemPolicy | Represents a set of eviction and expiration details for a specific cache entry. |
![]() | ChangeMonitor | Provides a base class for a derived custom type that monitors changes in the state of the data which a cache item depends on. |
![]() | FileChangeMonitor | Represents an object that monitors changes to files. |
![]() | HostFileChangeMonitor | Monitors directories and file paths and notifies the cache of changes to the monitored items. This class cannot be inherited. |
![]() | MemoryCache | Represents the type that implements an in-memory cache. |
![]() | ObjectCache | Represents an object cache and provides the base methods and properties for accessing the object cache. |
![]() | SqlChangeMonitor | Provides change monitoring for SQL Server databases. This class cannot be inherited. |
| Delegate | Description | |
|---|---|---|
![]() | CacheEntryRemovedCallback | Defines a reference to a method that is called after a cache entry is removed from the cache. |
![]() | CacheEntryUpdateCallback | Defines a reference to a method that is invoked when a cache entry is about to be removed from the cache. |
![]() | OnChangedCallback | Defines a reference to a method that handles changes to monitored items. |
| Enumeration | Description | |
|---|---|---|
![]() | CacheEntryRemovedReason | Specifies the reason why a cache entry was removed or an entry is about to be removed. |
![]() | CacheItemPriority | Specifies a priority setting that is used to decide whether to evict a cache entry. |
![]() | DefaultCacheCapabilities | Represents a set of features that a cache implementation provides. |
The classes in this namespace provide a way to use caching facilities like those in ASP.NET, but without a dependency on the System.Web assembly.
Note |
|---|
The output caching functionality and types in the System.Runtime.Caching namespace were introduced in .NET Framework 4. |
The caching types that are provided in this namespace offer the following features:
Caching is accessible to all .NET Framework applications (not just ASP.NET).
Caching is extensible.
You can create custom caching providers. For example, instead of using the default in-memory cache engine, you can create custom providers that store cache data in databases, in custom objects, or in the file system.



