2017-02-24 6 views
0

RavenDbにスクリプトによるパッチ要求をコードで発行した場合、パッチ要求が完了したときにコードで検出できる方法はありますか?UpdateByIndexを使用しているときにScripted Patch Requestが完了したときを知る

更新 は具体的に私はScriptedPatchRequestDatabaseCommands.UpdateByIndexとを使用する - と私はパッチを進める前に完了していることを確認する必要があります。

答えて

0

DatabaseCommands.UpdateByIndexは、Operationのインスタンスを返します。これでWaitForCompletion()に電話して、操作が完了するまで待つことができます。それがあなたの好みの味なら、このメソッドの非同期バージョンもあります。

4

DatabaseCommands.Patch同期方法は、パッチの実行が終了するまでブロックします。

非同期AsyncDatabaseCommands.PatchAsyncメソッドは、パッチの実行が完了すると完了するTask<RavenJObject>を返します。await ed。

このように、クライアントAPIは、ブロッキングと非ブロッキングの両方のパッチ要求機能を提供します。 DatabaseCommandsAsyncDatabaseCommandsの他のすべてのメソッドについても同様です。

TBH私は、パッチコマンドの動作がむしろうまく記述されていないと思います...私は実験によってそれを理解しました。

+0

ありがとうございます。単一の文書にパッチを当てるのに最適です。しかし、私はしばしば 'DatabaseCommands.UpdateByIndex'を使ってコレクション全体を修正し、それが_not_ブロッキングではないことを知ることができます。これは本当に私が助けが必要なことです - 私はこれを反映するために私の質問を更新します。 –

関連する問題