0
私は実行するタスクを作成しました。それは正常に実行されますが、55+から300+のリピートの後では、各ループは完了するまでに時間がかかります。どうしましたか?httpwebrequest whileループが遅く
var task = Task.Run(() =>
{
int i = 0;
string url = "http://xxxx/getall";
string token = "dddd";
string sendData = "{somejson}"
while (true)
{
//this gets slower and slower after 50-300+ repeats
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);//create
req.Headers.Add("Authorization", token);
req.ContentType = "application/json";
req.Accept = "application/json";
req.Method = "POST";
var stream_req = req.GetRequestStream();//create
byte[] reqdata = Encoding.UTF8.GetBytes(sendData);
stream_req.Write(reqdata, 0, reqdata.Length);
stream_req.Close();
var response = req.GetResponse();//create
//get response
var reader = new StreamReader(response.GetResponseStream());//create
json = reader.ReadToEnd();
reader.Close();
response.Close();
Console.WriteLine(i.ToString()+":"+json.Substring(0, 20));
i++;
}
});
サーバーの速度が遅くなるのか、クライアントコードが遅くなるのでしょうか? –
これは何らかの負荷テストですか? –
メソッドの* blocking *バージョンを使用する場合、 'Task.Run'を使用するポイントは何ですか? –