[英]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.