FileChangeMonitor 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示用于监视对文件的更改的对象。
public ref class FileChangeMonitor abstract : System::Runtime::Caching::ChangeMonitor
public abstract class FileChangeMonitor : System.Runtime.Caching.ChangeMonitor
type FileChangeMonitor = class
inherit ChangeMonitor
Public MustInherit Class FileChangeMonitor
Inherits ChangeMonitor
- 继承
- 派生
示例
以下示例演示如何创建一个 HostFileChangeMonitor 缓存项,该缓存项使用 对象监视源数据的状态, (文件系统上的文件) 。 HostFileChangeMonitor 类从 FileChangeMonitor 类继承。 缓存项是使用 对象 CacheItemPolicy 定义的,该对象为缓存条目提供逐出和过期详细信息。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Runtime.Caching;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Button1_Click1(object sender, EventArgs e)
{
ObjectCache cache = MemoryCache.Default;
string fileContents = cache["filecontents"] as string;
if (fileContents == null)
{
CacheItemPolicy policy = new CacheItemPolicy();
policy.AbsoluteExpiration =
DateTimeOffset.Now.AddSeconds(10.0);
List<string> filePaths = new List<string>();
string cachedFilePath = Server.MapPath("~") +
"\\cacheText.txt";
filePaths.Add(cachedFilePath);
policy.ChangeMonitors.Add(new
HostFileChangeMonitor(filePaths));
// Fetch the file contents.
fileContents = File.ReadAllText(cachedFilePath) + "\n"
+ DateTime.Now.ToString();
cache.Set("filecontents", fileContents, policy);
}
Label1.Text = fileContents;
}
}
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
注解
类 FileChangeMonitor 是监视文件更改的类的基 ChangeMonitor 类型。 若要在文件系统中创建更改监视器,可以从此类继承。
实施者说明
有关必须遵循的继承协定的信息,请参阅类概述中的 ChangeMonitor 继承者说明部分。
构造函数
FileChangeMonitor() |
初始化 FileChangeMonitor 类的新实例。 从派生类中的构造函数调用此构造函数以初始化基类。 |
属性
FilePaths |
获取一个集合,该集合包含要监视其是否发生更改的文件路径。 |
HasChanged |
获取一个值,该值指示由 ChangeMonitor 类监视的状态已发生更改。 (继承自 ChangeMonitor) |
IsDisposed |
获取一个值,该值指示释放 ChangeMonitor 类的派生实例。 (继承自 ChangeMonitor) |
LastModified |
获取一个值,该值指示所监视文件的上次更改时间。 |
UniqueId |
获取一个表示 ChangeMonitor 类实例的值。 (继承自 ChangeMonitor) |
方法
Dispose() |
释放由 ChangeMonitor 类的当前实例占用的所有资源。 (继承自 ChangeMonitor) |
Dispose(Boolean) |
释放所有托管资源和非托管资源,以及对 ChangeMonitor 实例的任何引用。 此重载必须由派生的更改监视器类实现。 (继承自 ChangeMonitor) |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
InitializationComplete() |
从派生类的构造函数进行调用以指示初始化已完成。 (继承自 ChangeMonitor) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
NotifyOnChanged(OnChangedCallback) |
由缓存实施者调用来注册回调,并在某个依赖项已更改时通过 ObjectCache 委托通知 OnChangedCallback 实例。 (继承自 ChangeMonitor) |
OnChanged(Object) |
由派生类调用以在某个依赖项发生更改时引发事件。 (继承自 ChangeMonitor) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |