有不同的异步控制器示例。其中一些在方法定义中使用CancellationToken:
public async Task<ActionResult> ShowItem(int id, CancellationToken cancellationToken)
{
await Database.GetItem(id, cancellationToken);
...
但是其他示例甚至VS2013的默认ASP.NET项目根本不使用CancellationToken,并且可以在没有它的情况下正常工作:
public async Task<ActionResult> ShowItem(int id)
{
await Database.GetItem(id);
...
我们不确定是否应该在控制器中使用CancellationToken(以及为什么)。