C# Azure CosmosDB SQL API createDatabaseAsync不创建数据库

C# Azure CosmosDB SQL API createDatabaseAsync不创建数据库,c#,azure,azure-cosmosdb,azure-cosmosdb-sqlapi,C#,Azure,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我正在使用Azure CosmosDB SQL API。我有一个异步任务要连接到我的AzureCosmosDB帐户,我正试图通过代码创建一个数据库 下面是我的代码片段 private async Task ConnectToDocumentDB() { this.client = new DocumentClient(new Uri(EndpointUrl), PrimaryKey); Console.WriteLine(client.WriteEndpoint); Database db =

我正在使用Azure CosmosDB SQL API。我有一个异步任务要连接到我的AzureCosmosDB帐户,我正试图通过代码创建一个数据库

下面是我的代码片段

private async Task ConnectToDocumentDB()
{
this.client = new DocumentClient(new Uri(EndpointUrl), PrimaryKey);
Console.WriteLine(client.WriteEndpoint);
Database db = await this.client.CreateDatabaseIfNotExistsAsync(new Database { Id = "MyDB" });
Console.WriteLine("Response --" + db.Id);           
}
当我在控制台中查看客户端的EndPonit以确保AzureCosmosDb连接时,我能够查看正确的端点。但当我尝试创建数据库时,它不会创建数据库

从main方法对此异步任务的方法调用如下

 Program p = new Program();
 p.ConnectToDocumentDB().Wait();
我不知道我哪里出错了。帮我解决这个问题


提前谢谢

根据应用程序的上下文,
.Wait()
可能会在代码到达
异步调用时导致死锁


您应该使用
.GetAwaiter().GetResult()
,以便在后台正确生成状态机以防止出现此问题。

您是否尝试通过代码进行调试?CreateDatabaseIfNoteExistsAsSync的响应是什么?响应是带有隐式运算符的
ResourceResponse
,因此我希望您返回该运算符,以便我们可以使用响应元数据对其进行调试。@nickchapsa Yes!我试着调试代码。但是,当程序控件到达createDatabaseAsync方法调用时,程序终止,并且不会引发任何异常。因此,我无法查看ResourceResponse。您是否尝试将其包装在try catch中,并查看您的异常设置是否忽略了异常?也不要在程序上使用
.Wait()
。请改用
.GetAwaiter().GetResult()
。@NickChapsas谢谢!现在很好,我写下了答案。随便接受吧。