gpt4 book ai didi

c# - ASP.NET C# Azure documentDb 类库不工作

转载 作者:行者123 更新时间:2023-12-03 03:09:51 24 4
gpt4 key购买 nike

我按照 MSDN 指南构建了一个简单的应用程序,以使用存储在 Azure 中的示例 documentDB。

从我的控制台应用程序中,我可以运行此方法(在类库项目中),一切正常:

private static async Task CreateDatabaseIfNotExistsAsync(string DatabaseId)
{
try
{
await client.ReadDatabaseAsync(UriFactory.CreateDatabaseUri(DatabaseId));
}
catch (DocumentClientException e)
{
if (e.StatusCode == System.Net.HttpStatusCode.NotFound)
{
await client.CreateDatabaseAsync(new Database { Id = DatabaseId });
}
else
{
throw;
}
}
}

但是,当我在 ASP.NET 应用程序中使用相同的类库时,程序在 ReadDatabaseAsync 方法调用上停止(并保持静止,没有异常或其他情况)。

我已经尝试过更改异步调用...但没有成功。

最佳答案

Gabi 在上面的评论中回答了,因此只需将其转换为此处的答案,以便更容易发现。 This video by the ASP.NET team has good information on using async in ASP.NET 。最好完全异步(将调用代码更改为await)。在 ASP.NET 中时不要调用 .Wait()。

但是,如果由于某种原因您必须 Wait(),请在上面的代码中使用 .ConfigureAwait(false) 进行异步调用,例如

等待 client.ReadDatabaseAsync(UriFactory.CreateDatabaseUri(DatabaseId)).ConfigureAwait(false);

关于c# - ASP.NET C# Azure documentDb 类库不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40132666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com