从DocumentDb中删除文档

时间:2014-09-09 23:46:07

标签: c# async-await azure-cosmosdb

我试图从名为Employees的DocumentDb集合中删除特定文档。当我运行以下代码时,我得到了#34;任务被取消了#34;错误。

我做错了什么?

private async static void RemoveEmployeeAsync(string colSelfLink)
        {
            var doc = client.CreateDocumentQuery<Document>(colSelfLink, "SELECT * FROM Employees e WHERE e.EmployeeId = 1").AsEnumerable().FirstOrDefault();

            if(doc != null)
            {
                await client.DeleteDocumentAsync(doc.SelfLink);
            }
        }

1 个答案:

答案 0 :(得分:4)

这可能是由于您使用了async void。可能无论调用什么,这段代码都会在client完成之前处理一些管理资源(即RemoveEmployeeAsync)。

最佳解决方案是让RemoveEmployeeAsync返回Task而不是void,并使用调用代码await