6

Azure Service Bus キュー クライアントでは、このReceiveBatchAsyncメソッドを使用して、指定された時間待機し、メッセージのバッチを非同期的に受信します。

var messages = await queueClient.ReceiveBatchAsync(10, TimeSpan.FromSeconds(30));

アプリケーションを完全にシャットダウンしたいのでCancellationToken、長時間実行されるすべての非同期プロセスに実装していますが、ReceiveBatchAsyncキャンセル可能な過負荷はないようです。

言い換えれば、私はこれをしたいのですが、できません:

var messages = await queueClient.ReceiveBatchAsync(10, TimeSpan.FromSeconds(30),
                                                       cancellationToken);

CancellationToken直接提供されないこのようなタスクに aを適用する最良の方法は何でしょうか? シャットダウン中に 30 秒も待ちたくありません。

4

1 に答える 1