У меня есть следующий код в моем сервисе:
// add Txt record to DNSimple with verification text
await CreateDomainRecordAsync(domain, new DomainRecordDto
{
//....
});
// verify domain on Office365
await _office365domainService.VerifyDomainAsync(domain);
Если первая операция - это вызов конечной точки № 1 (регистратор домена) и добавление записи TXT в домен. Вторая операция - это конечная точка вызова № 2 (Office365), которая проверяет, существует ли запись TXT в регистраторе домена.
Этот код не работает, я получаю исключение во второй операции, что TXT-запись не существует.
Я создал тестовый код:
public IActionResult LongOperation()
{
Thread.Sleep(10 * 1000);
return Ok();
}
public IActionResult Test()
{
return Ok();
}
и назовите это:
using (HttpClient httpClient = new HttpClient())
{
httpClient.BaseAddress = new Uri("http://test***.azurewebsites.net/home/");
await httpClient.GetAsync("LongOperation");
}
using (HttpClient httpClientLocal = new HttpClient())
{
httpClientLocal.BaseAddress = new Uri("https://localhost:44366/Home");
await httpClientLocal.GetAsync("Test");
}
Работает, как я и ожидал, сначала вызовите метод, подождите 10 секунд, пока выполняется LongOperation, а затем вызовите метод Test.
Почему мой реальный код с доменами не ждет и как это правильно сделать?