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) |
釋放所有的 Managed 資源和 Unmanaged 資源,以及對 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) |