ChangeMonitor.NotifyOnChanged(OnChangedCallback) 方法

定義

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

public:
 void NotifyOnChanged(System::Runtime::Caching::OnChangedCallback ^ onChangedCallback);
public void NotifyOnChanged (System.Runtime.Caching.OnChangedCallback onChangedCallback);
member this.NotifyOnChanged : System.Runtime.Caching.OnChangedCallback -> unit
Public Sub NotifyOnChanged (onChangedCallback As OnChangedCallback)

參數

onChangedCallback
OnChangedCallback

在相依性變更時叫用之方法的參考。

例外狀況

已經叫用此回呼方法。

onChangedCallbacknull

備註

快取實作者會使用這個方法來將自己連線到變更監視器。 如果您將一或多個變更監視器與快取專案產生關聯,您可以將具有填入變更監視器屬性的實例傳遞 CacheItemPolicy 至快取專案。 支援變更監視器的快取實作器負責逐一查看 ChangeMonitors 屬性,並向它找到的每個變更監視器註冊 OnChangedCallback 委派。

OnChangedCallback因為委派包含選擇性狀態參數,所以具體變更監視器實作可以傳遞選擇性狀態資訊。 快取實作器會判斷是否可以採用自定義變更監視器在回呼過程中傳遞之狀態類型的明確相依性。

注意

基底快取擴充性 API 不需要明確相依於狀態類型。

方法的實作 NotifyOnChanged 會自動判斷呼叫 方法時 NotifyOnChanged ,監視器的狀態是否已變更。 HasChanged如果 屬性為 true,則方法會自動透過方法呼叫OnChangedCallback已註冊的OnChanged事件處理程式。 這是因為從快取實作建立變更監視器到快取實作取得監視並連線到監視,基礎監視狀態已變更,就會發生這種情況。 如果狀態已經變更,則傳遞至 OnChanged 方法的物件為 null

NotifyOnChanged方法只能叫用一次,並在後續呼叫時擲回例外狀況。

給繼承者的注意事項

  1. 您必須呼叫 NotifyOnChanged(OnChangedCallback) 方法來收到任何相依性變更的通知。 如果已經發生相依性變更, OnChangedCallback 則會在呼叫 時 NotifyOnChanged(OnChangedCallback) 呼叫 實例。 否則,OnChangedCallback當呼叫 方法或呼叫 方法時OnChanged(Object)Dispose(),都會呼叫 實例一次,無論第一次發生。 快 OnChangedCallback 取實作所提供的實例應該移除快取專案,如果快取呼叫端要求,請引發必要的變更或更新事件給原始快取呼叫端。

  2. 物件快取實作必須移除與相依性變更相關聯的快取專案。

適用於

另請參閱