-1

パラメータとしてキャンセル トークンを使用した非同期コントローラ アクションを取得しました。

 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親メソッドからすべてのメソッドにキャンセル トークン パラメーターを渡します。

そして、子アクションが親アクションの実行にまったく影響を与えたくない場合はどうなりますか? しかし、親がキャンセルされた場合にキャンセルしたいですか? 私は何をすべきか?

ご清聴ありがとうございました

4

1 に答える 1