【发布时间】:2014-07-31 09:46:29
【问题描述】:
我是 C# 5.0 中的 async-await 方法的新手,我有几个问题
如果
async方法未通过输入参数或空检查,最好的转义方法是什么?在Task
async方法中使用return;的逻辑流程是什么(在某些情况下,它变成了一个无限循环)?CancellationToken或Task.Yield更适合这种情况吗?
public Func<AzureBlobInfo, string, Task> UploadSuccessCallBackAsync { get; set; }
private async Task OnUploadSuccessAsync(AzureBlobInfo info)
{
if (this.UploadSuccessCallBackAsync == null)
{
return;
}
var transactionType = this.FormData.Get("transactionType");
if (string.IsNullOrEmpty(transactionType))
{
transactionType = "unknown";
}
await this.UploadSuccessCallBackAsync(info, transactionType);
}
【问题讨论】:
-
一般来说,你写一个
async方法就像你写一个同步方法一样。方法完成后返回;错误抛出异常。
标签: c# asynchronous task-parallel-library async-await cancellation-token