次の方法で共有


KeyValueStoreReplica.OnReplicationOperation メソッド

定義

受信レプリケーション操作のために、セカンダリ レプリカ上のシステムによって呼び出されます。 各 KeyValueStoreNotification オブジェクトには、1 つのアトミック レプリケーション操作のすべてのデータが含まれます。

protected virtual void OnReplicationOperation (System.Collections.Generic.IEnumerator<System.Fabric.KeyValueStoreNotification> enumerator);
abstract member OnReplicationOperation : System.Collections.Generic.IEnumerator<System.Fabric.KeyValueStoreNotification> -> unit
override this.OnReplicationOperation : System.Collections.Generic.IEnumerator<System.Fabric.KeyValueStoreNotification> -> unit
Protected Overridable Sub OnReplicationOperation (enumerator As IEnumerator(Of KeyValueStoreNotification))

パラメーター

enumerator
IEnumerator<KeyValueStoreNotification>

このレプリケーション操作でデータを読み取るために使用される列挙子。

注釈

このメソッドは、オブジェクトが有効な KeyValueStoreReplica.SecondaryNotificationModeを使用して構築された場合KeyValueStoreReplicaにのみ、セカンダリ レプリカで呼び出されます。

モードが BlockSecondaryAck 指定されている場合、受信レプリケーション操作はセカンダリ レプリカにローカルに適用されず、メソッドが戻るまでプライマリに確認されます。 これは、レプリケーション ストリームのブロックを回避するために、アプリケーションがこのメソッドからタイムリーに戻るように注意する必要があることを意味します。 このメソッドが戻るまで受信確認はプライマリに送信されないため、監視対象のレプリケーション操作がレプリカ セット内のレプリカのクォーラムによって既に適用されている (または将来であることが保証されている) とは見なされません。

モードが NonBlockingQuorumAcked 指定されている場合、監視されるレプリケーション操作は、レプリカ セット内のレプリカのクォーラムによって既に適用されていることが保証されます。 さらに、監視されるレプリケーション操作は、このセカンダリによってローカルに既に適用され、システムによってメソッドが呼び出されたときにプライマリに確認されている可能性があります。 メソッド コールバックは、このモードではレプリケーション ストリームをブロックしませんが、レプリケーション操作通知ストリームは引き続きブロックされます。 つまり、特定の時点で未処理の OnReplicationOperation メソッド コールバックは 1 つだけです。

適用対象