FileChangeMonitor 類別

定義

表示監控檔案變更的物件。

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
繼承
FileChangeMonitor
衍生

範例

下列範例示範如何建立快取專案,該快取專案會使用 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)

適用於