使用ASP.Net WebAPI,我有一个控制器,其中包含类似于以下内容的异步操作:
[HttpPost]
public async Task<string> DoSomething(string foo)
{
var result = await MyAsynchronousTask(foo);
return result;
}
这个控制器所做的不重要。重要的是它正在使用新的.NET 4.5异步/等待支持等待异步任务。
问题:如何告诉它在指定时间后超时?我不一定想取消该任务,我只想防止调用者永远挂起。(尽管我也很想以两种方式看到它。)