パラメータとしてキャンセル トークンを使用した非同期コントローラ アクションを取得しました。
public async Task<ActionResult> Index(string NomenCode = "", string ProducerName = "", bool? WithAnalog = null, long? OrderId = null, CancellationToken cancelToken = default(CancellationToken))
{
// .. some code
// my async method gets this token
await SearchModel.GetRemains(search, NomenCode, ProducerName, _WithAnalog, this.HttpContext, cancelToken);
//.. more code
}
SearchModel.GetRemains
メソッドは他の 3 つの非同期メソッド (Web サービス) を呼び出し、そのうちの 1 つがタイムアウトによってキャンセルされると、他のメソッドは実行されません。
その 3 つの Web サービスのすべてで、非同期でもデータベースに接続します。3 番目のタスクの子メソッドでエラーが発生async
したときに、2 つのタスクを機能させるにはどうすればよいですか?async
async
親メソッドからすべてのメソッドにキャンセル トークン パラメーターを渡します。
そして、子アクションが親アクションの実行にまったく影響を与えたくない場合はどうなりますか? しかし、親がキャンセルされた場合にキャンセルしたいですか? 私は何をすべきか?
ご清聴ありがとうございました