Represents an object that monitors changes to files.
Assembly: System.Runtime.Caching (in System.Runtime.Caching.dll)
Initializes a new instance of theclass. This constructor is called from constructors in derived classes in order to initialize the base class.
Gets a collection that contains the paths of files that are monitored for changes.
Gets a value that indicates the last time that a file that is being monitored was changed.
Determines whether the specified object is equal to the current object.(Inherited from Object.)
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)
Serves as the default hash function. (Inherited from Object.)
Called from the constructor of derived classes to indicate that initialization is finished. (Inherited from ChangeMonitor.)
Called by derived classes to raise the event when a dependency changes. (Inherited from ChangeMonitor.)
Returns a string that represents the current object.(Inherited from Object.)
The ChangeMonitor type for classes that monitor changes to files. To create a monitor for changes in the file system, you can inherit from this class.class is a base
Notes to Inheritors:
For information about the inheritance contract that must be followed, see the Notes for Inheritors section in the ChangeMonitor class overview.
The following example shows how to create a cache item that uses a HostFileChangeMonitor object to monitor the state of the source data (a file) on the file system. The HostFileChangeMonitor class inherits from the class. The cache entry is defined using a CacheItemPolicy object that provides eviction and expiration details for the cache entry.
Imports System.Runtime.Caching Imports System.IO Partial Class _Default Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim cache As ObjectCache = MemoryCache.Default Dim fileContents As String = TryCast(cache("filecontents"), _ String) If fileContents Is Nothing Then Dim policy As New CacheItemPolicy() policy.AbsoluteExpiration = _ DateTimeOffset.Now.AddSeconds(10.0) Dim filePaths As New List(Of String)() Dim cachedFilePath As String = Server.MapPath("~") & _ "\cacheText.txt" filePaths.Add(cachedFilePath) policy.ChangeMonitors.Add(New _ HostFileChangeMonitor(filePaths)) ' Fetch the file contents. fileContents = File.ReadAllText(cachedFilePath) & _ vbCrLf & DateTime.Now.ToString() cache.Set("filecontents", fileContents, policy) End If Label1.Text = fileContents End Sub End Class
Available since 4.0
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.