小编ale*_*tcl的帖子

使用"return"终止或退出C#异步方法

我是这个async-await方法的新手C# 5.0,我脑子里几乎没有问题

  1. async如果输入参数或null检查失败,那么转义方法的最佳方法是什么?

  2. return;在Task async方法中使用的逻辑流程是什么(在某些情况下,它变成了无限循环)?

  3. 在这种情况下是更合适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);
}
Run Code Online (Sandbox Code Playgroud)

c# asynchronous task-parallel-library async-await cancellation-token

11
推荐指数
1
解决办法
7469
查看次数