【发布时间】:2020-04-07 23:48:10
【问题描述】:
在Azure Service Bus documentation中有一条评论说:
// 注意:使用根据需要传递的cancellationToken来判断是否 queueClient 已经关闭。
// 如果 queueClient 已经关闭,可以选择不调用 CompleteAsync() 或者 AbandonAsync() 等
// 避免不必要的异常。
我一直在尝试查找有关如何“根据需要”使用令牌的更多信息,但这对我来说并不明显。我尝试阅读Task Cancellation 上的部分,但结果并不明智。
令牌有一些看起来很有趣的属性,CanBeCancelled 和 IsCancellationRequested。
if (!token.IsCancellationRequested)
{
await queueClient.CompleteAsync(message.SystemProperties.LockToken);
}
if (token.CanBeCanceled)
{
await queueClient.CompleteAsync(message.SystemProperties.LockToken);
}
在窥视锁定模式下接收消息时,如何“根据需要”正确使用令牌?
【问题讨论】:
标签: azureservicebus