【发布时间】:2012-01-26 10:03:34
【问题描述】:
是否可以在 .Net 中使用 TPL 库封装调用?
我想做这样的事情
Task t1 = Task.Factory.StartNew(() => { dynamic result = FacebookApp.Get("me/videos/uploaded", parameters); });
但是我得到一个 HttpContext 错误,我假设这是因为 FacebooApp.Get 方法在内部使用它。
如何将 FB API 调用封装到任务中以在服务器上并行运行?
我忘了提到我使用的是 Facebook C# SDK,因此是 FacebookApp.Get
已编辑
我一直在观看 TPL 库上的一些复数视频,并采用了下图中的模式。正如您所说,主线程来自创建控制器本身,但我仍然需要生成 4 个单独的网络任务来并行执行网络调用。我通过没有在第四个任务中调用的函数根本不依赖 HttpContext 来修复 HttpContext 错误。
对我来说,现在的最终结果是并行编程所承诺的更高性能的方法调用。
【问题讨论】:
-
为什么要并行运行?
-
嗨史蒂文,因为它正在拨打网络电话。我是 asp.net 4 中并行任务的新手,我正在将数据库、Web 服务、rest 等包装成一个任务模式,显然是为了减少服务器上的获取时间并希望提高性能。我不确定 fb C# SDK 是否有异步抽象?
标签: c# asp.net .net facebook task-parallel-library