SQL API Azure CosmosDB createDatabaseAsync не создает базу данных - PullRequest
0 голосов
/ 27 ноября 2018

Я использую SQL API Azure CosmosDB.У меня есть асинхронная задача для подключения к моей учетной записи 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();

Я не знаю, где я нахожусьНеправильно. Помогите мне с этим вопросом.

Заранее спасибо!

1 Ответ

0 голосов
/ 27 ноября 2018

В зависимости от контекста вашего приложения, .Wait() может вызвать тупик, когда ваш код достигает вызова async.

Вы должны использовать .GetAwaiter().GetResult(), чтобы конечный автомат был сгенерирован должным образом.предотвратить эту проблему.

...