Couchbaseフォーラムにも回答が投稿されましたが、ここにコピーします... http://www.couchbase.com/forums/thread/notify-client-change#comment-1008518
クライアントは XDCR レプリケーションを認識せず、XDCR イベントへのフックもありません。残念ながら、キーがクラスターに複製されたことをクライアント インスタンスが認識する方法はありません。
K2 が C2 にレプリケートされたデータを操作する必要があると仮定すると、(明らかにテストされていない) 別の方法は、C2 を ASP.NET エンドポイントにレプリケートすることです。この場合、私が最近書いた Nancy エンドポイント ( http://blog.couchbase.com/xdcr-aspnet-and-nancy ) を使用できます。
- K1 は C1 にキーを書き込みます
- C1(XDCR経由)がキーをC2に送信
- C2 (XDCR 経由) がキーを Nancy エンドポイントに送信します。
- K2 は IReplicationHandler サブクラス内で使用されます (詳細についてはブログを参照してください)。
したがって、基本的に、C1 XDCR が C2 にレプリケートされた後、C2 からアプリにプッシュします。これにより、Nancy を介して、または私の Nancy アプリから既存の Web アプリにコードをコピーすることにより、XDCR エンドポイントが定義されます。エンドポイント ホストは重要ではありませんが、URI (/pools など) と JSON 応答は重要です。繰り返しますが、ここでの考え方は、K2 アプリを 3 番目の XDCR エンドポイントとして扱いますが、C2 が C1 からキーを取得した後にのみキーを受け取るものです。
Observe は、キーを格納または削除する際の耐久性要件を指定するために使用されます。たとえば、キーがマスター ノードに永続化され、2 つのレプリカ ノードに (メモリまたはディスクに) レプリケートされた場合にのみ、ストア操作が成功したと見なすようにクライアントに依頼できます。http://www.couchbase.com/docs/couchbase-sdk-net-1.2/couchbase-sdk-net-st ...