gpt4 book ai didi

c# - 将 TPL 任务与 HttpWebRequest 结合使用

转载 作者:行者123 更新时间:2023-11-30 15:36:36 25 4
gpt4 key购买 nike

我希望在我的 WP7 项目中使用 System.Threading.Task 库来处理我的异步 Web 请求。但是,在 WP7 中(我相信)你必须使用 HttpWebRequest 类来处理 http 请求(我的应用程序做了很多)。 HttpWebRequest 类只有一个 BeginGetResponse 方法,该方法通过要求您传入回调参数来强制您使用旧的异步编程模型。

有没有什么方法可以使用 WP7 进入现代,或者我是否受困于 HttpWebRequests 和回调?

更新Jon 给了我一些很好的指导,让我找到使用 Task.Factory.FromAsync 将 APM 代码转换为 TPL 的正确方法,但我真的很难使用 Task.Factory.FromAsync。第一个参数是 IAsyncResult,我假设它是您的 BeginGetResponse 或 BeginGetRequest 方法。但是第二个参数,我读过的文档通常建议应该是你的结束方法,是一个 Func。 HttpWebRequest 的 EndGetRequest 和 EndGetResponse 方法返回一个 Stream ... 到那时,我迷路了。

最佳答案

一般来说,你可以使用 TaskFactory.FromAsync 建立一个Task<T>来自开始/结束方法对。

我不知道 TPL 的 WP7 版本是否支持它,但我会从这里开始。

另请参阅:"TPL and Traditional .NET Framework Asynchronous Programming" .

关于c# - 将 TPL 任务与 HttpWebRequest 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13608159/

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