FileChangeMonitor Class

.NET Framework (current version)
 

Represents an object that monitors changes to files.

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

System.Object
  System.Runtime.Caching.ChangeMonitor
    System.Runtime.Caching.FileChangeMonitor
      System.Runtime.Caching.HostFileChangeMonitor

Public MustInherit Class FileChangeMonitor
	Inherits ChangeMonitor

NameDescription
System_CAPS_protmethodFileChangeMonitor()

Initializes a new instance of the FileChangeMonitor class. This constructor is called from constructors in derived classes in order to initialize the base class.

NameDescription
System_CAPS_pubpropertyFilePaths

Gets a collection that contains the paths of files that are monitored for changes.

System_CAPS_pubpropertyHasChanged

Gets a value that indicates that the state that is monitored by the ChangeMonitor class has changed.(Inherited from ChangeMonitor.)

System_CAPS_pubpropertyIsDisposed

Gets a value that indicates that the derived instance of a ChangeMonitor class is disposed.(Inherited from ChangeMonitor.)

System_CAPS_pubpropertyLastModified

Gets a value that indicates the last time that a file that is being monitored was changed.

System_CAPS_pubpropertyUniqueId

Gets a value that represents the ChangeMonitor class instance.(Inherited from ChangeMonitor.)

NameDescription
System_CAPS_pubmethodDispose()

Releases all resources that are used by the current instance of the ChangeMonitor class.(Inherited from ChangeMonitor.)

System_CAPS_protmethodDispose(Boolean)

Releases all managed and unmanaged resources and any references to the ChangeMonitor instance. This overload must be implemented by derived change-monitor classes. (Inherited from ChangeMonitor.)

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodInitializationComplete()

Called from the constructor of derived classes to indicate that initialization is finished. (Inherited from ChangeMonitor.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodNotifyOnChanged(OnChangedCallback)

Called by Cache implementers to register a callback and notify an ObjectCache instance through the OnChangedCallback delegate when a dependency has changed. (Inherited from ChangeMonitor.)

System_CAPS_protmethodOnChanged(Object)

Called by derived classes to raise the event when a dependency changes. (Inherited from ChangeMonitor.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

The FileChangeMonitor class is a base 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.

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 FileChangeMonitor 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

.NET Framework
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.

Return to top
Show: