c# - .NET 4 异步 WebRequest 与多线程

标签 c# .net httpwebrequest

我正在使用 C# .NET 4 和 MSSQL。

我正在编写一段代码,用于下载不同网站的 html 并使用正则表达式对其进行分析。

执行代码的大部分时间是等待网站 html 下载完成。

目前我正在使用 Task.Factory.StartNew 创建调用 DownloadHtml() 的多个线程。 DownloadHtml 使用 WebRequest & StreamReader 下载和读取网站的 html。

<强>1。我是否应该将 DownloadHtml 更改为使用 Async WebRequest 并仅使用单个线程?
2. 这与使用多线程有何不同?

最佳答案

  1. 我建议您使用异步网络请求。重要的是要知道这不使用单个线程。异步请求的回调将在线程池后台线程上执行。当您使用 TPL 时,我建议您查看这些类中内置的功能以支持异步请求 (http://msdn.microsoft.com/en-us/library/dd997423.aspx)。

  2. 如前所述,这仍然使用多线程。

关于c# - .NET 4 异步 WebRequest 与多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3555744/

相关文章:

c# - 在没有 tnsnames.ora 的情况下连接到 Oracle

c# - .NET 核心 Web API : return a custom HTTP status code with Content Type application/problem+json

c# - 如何从任何窗口获取选定的文本(使用 UI 自动化)- C#

c# - vstest.console 可以按所有匹配的特征过滤测试吗?

c# - 在 C# 中使用 WebClient.DownloadString 发送 POST

c# - 写方法时如何防止某些形式的输入?

c# - 是否有兼容 MonoTouch 的 BDD 风格的测试框架?

c# - 安排代表电话

c# - HttpWebRequest 对每个主机 2 个连接的限制是否适用于 HttpClient?

c++ - 如何在 C++ 中从 URL (HTTP) 获取图像?