ChangeMonitor.NotifyOnChanged(OnChangedCallback) 메서드

정의

종속성이 변경되었을 때 콜백을 등록하고 ObjectCache 대리자를 통해 OnChangedCallback 인스턴스를 알리기 위해 캐시 구현자에 의해 호출됩니다.Called by Cache implementers to register a callback and notify an ObjectCache instance through the OnChangedCallback delegate when a dependency has changed.

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

매개 변수

onChangedCallback
OnChangedCallback

종속성이 변경되었을 때 호출되는 메서드에 대한 참조입니다.A reference to a method that is invoked when a dependency has changed.

예외

콜백 메서드가 이미 호출되었습니다.The callback method has already been invoked.

onChangedCallbacknull인 경우onChangedCallback is null.

설명

캐시 구현자는 변경 모니터 자체를 연결 하는 데이 메서드를 사용 합니다.Cache implementers use this method to wire themselves up to a change monitor. 전달 하는 경우 연결한 하나 이상의 캐시 항목을 사용 하 여 모니터를 변경,는 CacheItemPolicy 채워진된 변경 모니터 속성 캐시 항목을 사용 하 여 인스턴스.If you associate one or more change monitors with the cache item, you pass a CacheItemPolicy instance with a populated change monitors property to the cache item. 반복에 대 한 지원 변경 모니터는 캐시 구현자는를 ChangeMonitors 속성 및 등록을 OnChangedCallback 각 대리자 발견 되는 모니터를 변경 합니다.A cache implementer that supports change monitors is responsible for iterating over the ChangeMonitors property and register the OnChangedCallback delegates with each change monitor that it finds.

때문에 OnChangedCallback 는 선택적 상태 매개 변수를 포함 하는 대리자, 구체적인 변경 모니터 구현은 선택적 상태 정보를 전달할 수 있습니다.Because the OnChangedCallback delegate includes an optional state parameter, a concrete change monitor implementation can pass optional state information. 캐시 구현 자가 콜백의 일부로 전달 하는 사용자 지정 변경 모니터 상태의 유형에 따라 명시적 종속성을 사용할 수 있는지 여부를 결정 합니다.The cache implementer determines whether an explicit dependency on the type of state that a custom change monitor passes as part of the callback can be taken.

참고

기본 캐시 확장성 API에 상태 형식에는 명시적 종속성에 대 한 요구 사항이 있습니다.The base cache extensibility API has no requirement for explicit dependency on the type of state.

구현의 합니다 NotifyOnChanged 메서드를 자동으로 시 모니터의 상태가 이미 변경 되었는지 여부를 결정 NotifyOnChanged 메서드가 호출 됩니다.The implementation of the NotifyOnChanged method automatically determines whether the state of the monitor has already changed at the time NotifyOnChanged method is called. 경우는 HasChanged 속성은 true, 메서드를 자동으로 호출 합니다 합니다 OnChangedCallback 통해 등록 된 이벤트 처리기는 OnChanged 메서드.If the HasChanged property is true, then the method automatically calls the OnChangedCallback event handler, that was registered, through the OnChanged method. 이 캐시 구현이 캐시 구현이 모니터를 가져오고 자체를 최대 연결 시간에는 변경 모니터를 만드는 시점부터 기본 모니터링된 상태가 변경 되었습니다 수 있기 때문에 발생 합니다.This occurs because it is possible that from the time a cache implementation creates a change monitor, to the time a cache implementation gets the monitor and wires itself up to it, the underlying monitored state has changed. 상태 변경 되었는지 여부 이미 다음에 전달 되는 개체를 OnChanged 메서드는 null합니다.If the state has already changed then the object that is passed to the OnChanged method is null.

NotifyOnChanged 메서드는 한 번만 호출할 수 있으며 후속 호출에서 예외가 throw 됩니다.The NotifyOnChanged method can be invoked only one time, and will throw an exception on subsequent calls.

상속자 참고

1. 호출 해야 합니다는 NotifyOnChanged(OnChangedCallback) 종속성 변경 알림을 받을 방법입니다.1. You must call the NotifyOnChanged(OnChangedCallback) method to be notified of any dependency changes. 종속성이 변경 문제가 이미 발생 했다면 합니다 OnChangedCallback 인스턴스를 호출할 때 NotifyOnChanged(OnChangedCallback) 라고 합니다.If a dependency change has already occurred, the OnChangedCallback instance will be called when NotifyOnChanged(OnChangedCallback) is called. 이 고, 그렇지는 OnChangedCallback 인스턴스에 한 번 호출 됩니다 때를 OnChanged(Object) 메서드는 때나를 Dispose() 메서드를 호출 중 먼저 발생 합니다.Otherwise, the OnChangedCallback instance will be called one time, either when the OnChanged(Object) method is called or when the Dispose() method is called, whichever occurs first. OnChangedCallback 캐시 구현에서 제공 하는 인스턴스 캐시 엔트리를 제거 하며 다시 원래 캐시 호출자에 게 업데이트 이벤트를 변경 해야 하는 캐시 호출자가 요청 된 경우 발생 합니다.The OnChangedCallback instance provided by the cache implementation should remove the cache entry and if it is requested by the cache caller, raise the necessary change or update event back to the original cache caller.

2.2. 개체 캐시 구현 종속성이 변경에 연관 된 캐시 엔트리를 제거 해야 합니다.The object cache implementation must remove the cache entry that is associated with a dependency change.

적용 대상

추가 정보