共用方式為


ChangeMonitor 類別

定義

提供一個衍生自訂型別的基底類別,監控快取項目所依賴的資料狀態變化。

public ref class ChangeMonitor abstract : IDisposable
public abstract class ChangeMonitor : IDisposable
type ChangeMonitor = class
    interface IDisposable
Public MustInherit Class ChangeMonitor
Implements IDisposable
繼承
ChangeMonitor
衍生
實作

備註

ChangeMonitor 類別作為衍生監控類別的基底類別,專門用於特定快取實作。 實 ChangeMonitor 例監控快取項目所依賴的資料狀態變化。 例如,該項目可以是檔案或資料實體,其內容會被快取。 若檔案或資料實體更新,相關的快取項目也必須更改。 常見可監控的項目包括資料實體(如資料庫欄位、值、列或資料表)、另一個快取項目,以及檔案和檔案屬性。

依賴性變更是指依賴性狀態的改變。 在典型的快取實作中,當實 ChangeMonitor 例通知快取依賴變更後,快取會執行所需動作,例如使插入的快取條目失效。

衍生 ChangeMonitor 類別可自訂以監控特定資料儲存的相依變更。 例如,檔案系統、實體記憶體或資料庫的快取實作。 該 ChangeMonitor 類別會檢查快取外發生的變更,然後提醒快取已發生變更。

.NET 框架包含以下由 ChangeMonitor 類別衍生的類別:

這些類別各自處理不同類型的相依關係。 例如,派生 FileChangeMonitor 類別監控快取中檔案系統資料(檔案與資料夾)的變更,而快取項目依賴這些資料。

給實施者的注意事項

如果你建立自訂快取實作或衍生的變更監控類型,必須遵守某些指引。 以下清單總結了這些指引。 欲了解更多資訊,請參閱個別方法或特性的文件。

注意:事件觸發時自動呼叫處置方法,僅在實例初始化 ChangeMonitor 先前完成時才會發生。

當衍生變更監控器的建構子呼叫該 InitializationComplete() 方法時,如果變更監控器的狀態已經改變(即建構子仍在運作時被監控的狀態已變更),該 InitializationComplete() 方法會自動拋棄變更監控器。

建構函式

名稱 Description
ChangeMonitor()

初始化 ChangeMonitor 類別的新執行個體。 此建構子由衍生類別中的建構子呼叫,以初始化基底類別。

屬性

名稱 Description
HasChanged

會得到一個表示該類別監控 ChangeMonitor 的狀態已經改變的值。

IsDisposed

會得到一個值,表示該類別的衍生實例 ChangeMonitor 已被處置。

UniqueId

會得到一個代表類別實例的 ChangeMonitor 值。

方法

名稱 Description
Dispose()

釋放目前類別實例 ChangeMonitor 所使用的所有資源。

Dispose(Boolean)

釋放所有受管理與非受管理資源,以及任何對實 ChangeMonitor 例的引用。 這種過載必須由派生的變更監控類別來實作。

Equals(Object)

判斷指定的 物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
InitializationComplete()

從衍生類別的建構器呼叫,表示初始化已完成。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
NotifyOnChanged(OnChangedCallback)

快取實作者呼叫以註冊回調,並在依賴變更時透過代理通知 ObjectCache 實例 OnChangedCallback

OnChanged(Object)

由衍生類別呼叫,當相依關係改變時觸發事件。

ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

適用於

執行緒安全性

此類型是安全線程。

另請參閱