私は、私はこのような1つの文字列の構文解析していたものでforeach loop
反復しています:私は私の文字列をHttpWebRequest
で並列要求を発射したい「imageUrl
」を"requestData"のforeachループ内で並列処理を行うにはどうすればよいですか?
を。 Means一度に4つの要求と応答のタイプのシステム(私のコアのユーティリティ用)。
どうすればいいですか?
コード:
foreach (var item in requestData)
{
try
{
string imageUrl = Convert.ToString(item.ImageUrl);
imageUrl = imageUrl.Replace('\r', ' ');
//It is Use for saving at our project location.
string saveLocation =
@AppDomain.CurrentDomain.BaseDirectory + @"Image\someone.jpg";
byte[] imageBytes;
try
{
HttpWebRequest imageRequest =
(HttpWebRequest)WebRequest.Create(imageUrl);
WebResponse imageResponse = imageRequest.GetResponse();
Stream responseStream = imageResponse.GetResponseStream();
using (BinaryReader br = new BinaryReader(responseStream))
{
imageBytes = br.ReadBytes(500000);
br.Close();
}
responseStream.Close();
imageResponse.Close();
FileStream fs = null;
BinaryWriter bw = null;
fs = new FileStream(saveLocation, FileMode.Create);
bw = new BinaryWriter(fs);
bw.Write(imageBytes);
fs.Close();
bw.Close();
id = Convert.ToString(item.Id);
// string ImageUrl= Convert.ToString(dr["ImageUrl"]);
ImageProcess(id);
}
catch (Exception)
{
log.Info("Image Url Wrong!!!");
drCurrentRow = dt.NewRow();
drCurrentRow["Id"] = Convert.ToString(item.Id); ;
drCurrentRow["Label"] = "Error";
drCurrentRow["Score"] = 0;
drCurrentRow["Flag"] = "1";
dt.Rows.Add(drCurrentRow);
//drCurrentRow = dt.NewRow();
dt.AcceptChanges();
}
finally
{
fs.Close();
bw.Close();
}
}
catch (Exception e)
{
log.Info(e);
}
}
BulkInsert();
}
私は私の文字列imageUrl
ためHttpWebRequest
で並列要求を発射します。
どうすればいいですか?
可能な複製を使用することができます(http://stackoverflow.com/questions/7477261/send-multiple-webrequest-並行して) –