gpt4 book ai didi

c# - LiveAuthClient.InitializeAsync() 永远不会在 Windows Phone 上返回

转载 作者:行者123 更新时间:2023-11-30 14:32:10 24 4
gpt4 key购买 nike

我正在尝试在 WP8 应用程序中管理 Live SDK 登录,但这里的代码有问题:

this.authClient = new LiveAuthClient("client Id");
LiveLoginResult loginResult = await this.authClient.InitializeAsync(scopes);

这是 Microsoft 提供的示例代码 (Sample)。但是 authClient.InitializeAsync(scopes) 永远不会返回,我也没有得到任何异常。 MSDN 指出 ( LiveAuthClient.InitializeAsync() ) 此方法在 Windows Phone 上不返回值。然后我想使用 this.authClient.LoginAsync(scopes) 来管理登录,如果客户端未初始化则无法执行此操作。

最佳答案

我预测你调用Task<T>.ResultTask.Wait进一步提升您的调用堆栈,这将 cause a deadlock (正如我在我的博客上解释的那样)。

默认情况下,await将捕获“当前上下文”(在本例中,可能是 UI 上下文),并将使用该上下文恢复执行 async方法。如果通过调用 Result 阻塞 UI 线程或 Wait在该任务上,然后是 async方法无法完成,因为它试图在阻塞的 UI 线程上完成。

关于c# - LiveAuthClient.InitializeAsync() 永远不会在 Windows Phone 上返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18831673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com