CloudBlobContainer.SetPermissionsAsync返回什么?

时间:2014-04-27 19:41:04

标签: c# asynchronous

此代码出现问题,返回“无法将void分配给隐式类型的本地变量容器”错误。试图输入正确的任务<>但无法找出它的回报..

try
        {
            blobContainer.BeginCreateIfNotExists(async b =>
                {
                    EDIT: await blobContainer.SetPermissionsAsync(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });
                    var r = (b.AsyncState as CloudBlobContainer).EndCreateIfNotExists(b);
                }, blobContainer);
            return blobContainer;
        }

1 个答案:

答案 0 :(得分:0)

您的代码混合了APMTAP方法。使用TAP要容易得多:

await blobContainer.CreateIfNotExistsAsync();
await blobContainer.SetPermissionsAsync(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });

Task是表示不带返回值的异步操作的类型。因此,当您await时,它没有返回值。

您可能会发现我的async intro有帮助。