У меня та же проблема, что и у этого вопроса:
Вызов ApplicationTokenProvider никогда не возвращает
Решение состоит в том, чтобы сделать вызывающий метод асинхронным, и, вероятно, каждый вызоввыше это асинхронно.У меня есть этот метод глубоко в цепочке вызовов (он отлично работает в тестовом жгуте) и не может вернуться при вызове в контроллере MVC.Я не хочу делать каждый вызов выше этого асинхронным - это потребовало бы большого количества редизайна и уродливой архитектуры, чтобы внедрить асинхронные возможности, которые бесполезны для моего кода.
Конечно, есть какой-то способ сделать это просто# $ (* & # работают синхронно? Вот мой код в настоящее время:
public void Authenticate()
{
var serviceCreds = ApplicationTokenProvider.LoginSilentAsync(TenantId, ApplicationId, Secret).Result;
var monitorClient = new MonitorManagementClient(serviceCreds) {SubscriptionId = SubscriptionId.ToString()};
MonitorClient = monitorClient;
}
Вызов на третьей строке LoginSilentAsync никогда не возвращается.