AsyncandAwaitwithHttpWebRequest.GetResponseAsync我在发出Web请求时尝试使用Async和Await,但发现它永远不会超过等待线。我是通过Metro应用程序执行此操作的,但我也在winforms应用程序中验证了该问题。publicasyncTaskDoSomething(){stringurl="http://imgur.com/gallery/VcBfl.json";HttpWebRequest请求=HttpWebRequest.CreateHttp(url);varws=awaitrequest.GetResponseAsync();返回ws.ResponseUri.ToString();;如果我不使用await但执行同步等待,它可以工作,但我需要它异步运行。我在这段导致await永远不会返回的代码中遗漏了什么?我怀疑在您的调用堆栈的更下方,您正在对返回的任务调用Wait或Result。正如我在我的博客中描述的那样,这将导致死锁。请遵循以下最佳实践来避免死锁:以上是C#学习教程AsyncandAwait和HttpWebRequest.GetResponseAsync分享的全部内容。不要阻塞异步代码;一直使用异步。在“库”方法中,使用ConfigureAwait(false)。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
