【发布时间】:2018-05-30 17:10:12
【问题描述】:
我和这个问题有同样的问题:
Call to ApplicationTokenProvider never returns
解决方案是使调用方法异步,并且可能在其之上的每个调用都是异步的。我在调用链中深入了解了这个方法(在测试工具中工作正常),并且在 MVC 控制器中调用时无法返回。我不想让它上面的每个调用都异步 - 这需要大量的重新设计和丑陋的架构来引入对我的代码无用的异步功能。
当然有一些方法可以让 #$(* 同步工作?这是我目前的代码:
public void Authenticate()
{
var serviceCreds = ApplicationTokenProvider.LoginSilentAsync(TenantId, ApplicationId, Secret).Result;
var monitorClient = new MonitorManagementClient(serviceCreds) {SubscriptionId = SubscriptionId.ToString()};
MonitorClient = monitorClient;
}
第三行对 LoginSilentAsync 的调用永远不会返回。
【问题讨论】:
标签: c# asp.net-mvc azure