[英]webrequest c# million records
对于我正在做的事情,我需要一些建议,这需要花费很长时间。
码:
WebRequest wr = WebRequest.Create(inputURL);
HttpWebResponse response = (HttpWebResponse)wr.GetResponse();
// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream();
// Read the content.
StreamReader reader = new StreamReader(dataStream);
string responseString = reader.ReadToEnd();
响应采用json的形式,因此使用Jsonserializer可以获取日期。 然后我一次更新一条记录。
现在,这需要很长时间。 我该如何提高其性能?
可以使用SSMS或其他方法执行sql吗? 您尚未指定更新日期的规则,但是如果您确实有一个简单的案例,例如在每个日期上增加10天,则可以用几行代码(以毫秒为单位)执行该操作,即
update mytable set mydate = dateadd(day, 10, mydate) ...voila.
即使您有更复杂的更新规则,也可能最好通过sql而不是一次通过webrequest一条记录来执行此操作...
更新日期有什么规则?
您可以同时打开许多指向服务器的URL。 一种简单的方法是使用.NET(我认为V4和更高版本,可能是3.5)中的TPL(任务并行库)来调用此方法。
List<string> Urls = GetMyList();
System.Threading.Tasks.Parallel.ForEach( Urls, u=>Doit(u) );
例如,在这里查看答案: 并行扩展
您可以限制同时处于活动状态的线程数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.