【发布时间】:2017-02-25 16:47:48
【问题描述】:
我使用以下代码:
public async Task SendMessage(string msg, CancellationToken ct = default(CancellationToken))
但我认为这是错误的,因为如果调用者在没有提供取消令牌的情况下调用SendMessage,则代码将以与CancellationToken.None 相同的默认值运行,因此它会等待而不会过期。
所以也许这样更好:
public async Task SendMessage(string msg, CancellationToken ct)
你怎么看?
【问题讨论】:
-
“最好只在你的公共 API 中设置你的
CancellationToken参数可选(如果你有的话)并将它们作为必需参数保留在其他任何地方." -- 答案并链接到下面答案中提供的文章。
标签: c# .net cancellation cancellation-token