我正在尝试通过像这样的循环执行代码
for(int i = 0; i < x; i++)
{
await Post(i,1,2,3);
MessageBox.Show("Success");
}
并且post方法基本上将数据发布到某个网站
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("Website");
request.Method = WebRequestMethods.Http.Post;
request.KeepAlive = true;
request.CookieContainer = cookie;
string datatowrite = i + "Some data"+ 2 + 3 + 4 + 5 //as string ofc
byte[] data = Encoding.UTF8.GetBytes(datatowrite);
request.ContentLength = data.Length;
using (Stream stream = await request.GetRequestStreamAsync())
{
await stream.WriteAsync(data, 0, data.Length);
}
循环执行前2次 第三次它没有(它使用Post()方法到达行然后不做任何事情甚至不执行消息。
所以我尝试在Post()方法中放置一些断点并发现 它会不断重复多次(没有任何循环),并且只有在使用断点后才能最终执行。
PS。如果我没有像
那样循环,这些方法可以正常工作Post(1,2,3,4);
Post(2,2,3,4);
Post(3,2,3,4);
等 但我需要使用循环,因为x是由用户输入的
由于
答案 0 :(得分:1)
解决
我在使用abort()方法完成后没有关闭httpwebrequest 感谢Marko