Azure CosmosDB SQL API createDatabaseAsync 不创建数据库
Azure CosmosDB SQL API createDatabaseAsync does not create database
我正在使用 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 连接时,我能够查看正确的 EndPoint。但是当我尝试创建数据库时,它并没有创建数据库。
main方法调用这个异步任务的方法如下
Program p = new Program();
p.ConnectToDocumentDB().Wait();
我不知道我要去哪里 wrong.Help 我遇到了这个问题。
提前致谢!
根据您的应用程序上下文,当您的代码到达 async
调用时,.Wait()
可能会导致死锁。
您应该使用 .GetAwaiter().GetResult()
以便在后台正确生成状态机以防止出现此问题。
我正在使用 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 连接时,我能够查看正确的 EndPoint。但是当我尝试创建数据库时,它并没有创建数据库。
main方法调用这个异步任务的方法如下
Program p = new Program();
p.ConnectToDocumentDB().Wait();
我不知道我要去哪里 wrong.Help 我遇到了这个问题。
提前致谢!
根据您的应用程序上下文,当您的代码到达 async
调用时,.Wait()
可能会导致死锁。
您应该使用 .GetAwaiter().GetResult()
以便在后台正确生成状态机以防止出现此问题。