我需要一些建议来处理我正在做的事情,这需要花费很长时间才能运行。
代码:
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我得到了日期。 然后我一次更新一条记录。
现在,这需要很长时间。我怎样才能提高这个性能?
答案 0 :(得分:0)
您可以使用SSMS或其他方法执行sql吗?你没有指定更新日期的规则,但是如果你有一个真正简单的情况,比如说每个日期增加10天,你就可以用一行代码(毫秒)来执行,即
update mytable set mydate = dateadd(day, 10, mydate) ...voila.
即使您有更复杂的更新规则,您最好通过sql执行此操作,而不是通过webrequest一次创建一条记录...
更新日期的规则是什么?
答案 1 :(得分:-1)
您可以同时打开许多服务器的URL。一种简单的方法是使用.NET中的TPL(任务并行库)调用此方法(V4及更高版本,我认为,可能是3.5)
List<string> Urls = GetMyList();
System.Threading.Tasks.Parallel.ForEach( Urls, u=>Doit(u) );
例如,请在此处查看答案:Parallel Extensions
您可以限制同时处于活动状态的线程数。