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 Framework包含衍生自 ChangeMonitor 類別的下列類別:

這些類別中的每一個都會與不同類型的相依性搭配運作。 例如,衍生 FileChangeMonitor 類別會監視檔案系統資料的快取變更, (檔案和資料夾) 快取專案相依。

給實施者的注意事項

如果您建立自訂快取實作或衍生的變更監視器類型,您必須遵循特定指導方針。 下列清單摘要說明這些指導方針。 如需詳細資訊,請參閱個別方法或屬性的檔。

注意:只有在先前完成實例的初始化 ChangeMonitor 時,才會在引發事件期間自動呼叫 dispose 方法。

當衍生變更監視器的建構函式呼叫 InitializationComplete() 方法時,如果變更監視器的狀態已經變更 (也就是說,當建構函式仍在使用中時監視的狀態已經變更) ,則 InitializationComplete() 方法會自動處置變更監視器。

建構函式

ChangeMonitor()

初始化 ChangeMonitor 類別的新執行個體。 這個建構函式由衍生類別中的建構函式呼叫,來初始化基底類別。

屬性

HasChanged

取得值,這個值表示 ChangeMonitor 類別所監控的狀態已變更。

IsDisposed

取得值,這個值表示是否已經處置 ChangeMonitor 類別的衍生執行個體。

UniqueId

取得值,這個值表示 ChangeMonitor 類別執行個體。

方法

Dispose()

ChangeMonitor 類別的目前執行個體所使用的資源全部釋出。

Dispose(Boolean)

釋放所有的 Managed 資源和 Unmanaged 資源,以及對 ChangeMonitor 執行個體的所有參考。 這項多載必須由衍生自變更監控的類別實作。

Equals(Object)

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

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
InitializationComplete()

從衍生類別的建構函式進行呼叫,以指出初始化已經完成。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
NotifyOnChanged(OnChangedCallback)

在相依性變更時,由快取實作呼叫來註冊回呼,並透過 ObjectCache 委派通知 OnChangedCallback 執行個體。

OnChanged(Object)

在相依性變更時由衍生類別呼叫,以引發事件。

ToString()

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

(繼承來源 Object)

適用於

執行緒安全性

此型別具備執行緒安全。

另請參閱