私は、HttpTaskAsyncHandlerから継承する非同期ハンドラを持っています。 そのハンドラの中のある行では、documentDB内のコマンドを実行し、次の例のようなタスクを返す非同期メソッド( 'async'キーワードで修飾された)を呼び出すコードがあります。https://docs.microsoft.com/en-us/azure/cosmos-db/documentdb-dotnet-application。HttpTaskAsyncHandler内のメソッドを待機する
私は通常の汎用ハンドラを持っていましたが、リンクがコントローラを非同期に変更したので、HttpTaskAsyncHandlerから継承するようにハンドラを変更しました。今、私はあまりにも/ここでマルチスレッドを重複しているように感じる、私のハンドラは、非同期ですが、また私はdocumentDBのAPI(動作を挿入する)で動作するメソッドを待っているハンドラの内部です。
私はここで2つの非同期操作をしていますか? 1つはハンドラが非同期で、もう1つがdocumentDBメソッド呼び出しが非同期であるためです。
コードはどこですか?どんなスレッドや重複について話していますか? とにかく 'await'は非同期呼び出しを*作成*しません。それは、すでに非同期操作が完了してから続行するのを待っています。同様に、 'ProcessRequestAsync'メソッドはあなたのコードを非同期にすることはありません。' async/await'を使うこともできますし、単純にフレームワークにホットなタスクを返すこともできます。ハンドラは –
はあなたに感謝、そのタスクを待つ方法を知っている、これは私のコードのようになります。 パブリッククラスClass1:HttpTaskAsyncHandlerタスクProcessRequestAsync(のHttpContextコンテキスト) { は(ASDを待つ)非同期 { 公共オーバーライド。 } プライベート非同期タスク asd() { return await SomeMethod(); } } 私は 'async'キーワードをProcessRequestAsyncメソッドに追加しても差はありませんか? –
SimpleDesign
コメントにコードを入れないでください。[あなたの質問を編集する](https://stackoverflow.com/posts/45920795/edit)とそこにコードを書いてください(適切にフォーマットされています) –