gpt4 book ai didi

c# - Async-Await 与 Task.Result on WP8

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

 var factory1 = new TaskFactory();
var task1 = factory1.FromAsync<WebResponse>(request.BeginGetResponse, request.EndGetResponse, null).Result;

上面的代码在 windows 8 和 windows store 上工作,但是当我尝试在 windows phone 8 上运行它时,它不起作用。它只是卡住并且不响应任何内容,看起来它需要很长时间才能运行该任务。

我的目的是同步调用 Web 服务,而不使用 asycn 和 await 方法。

最佳答案

My purpose is to call web service synchronous, without using asycn and await method.

你不应该那样做。 WP8/Win8 应该是异步的。 asyncawait 使异步编程变得简单。

我有a blog post这详细解释了 Result 死锁情况(虽然我有点惊讶它发生在这种情况下)。简而言之,async 方法试图在 UI 线程上恢复,但 UI 线程被阻塞等待 async 方法完成。

为什么要同步?

关于c# - Async-Await 与 Task<T>.Result on WP8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13696105/

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