最初のメソッドでボタンをクリックしようとすると、forループ内の非同期http要求が作成されていますが、パラメータを非同期コールバック関数に渡すことができません。 私は何かしたい、POSTメソッドを使用してforループ内のIDを送信したい。HttpWebRequest AsyncCallbackパラメータの問題
void Button3Click(object sender, EventArgs e)
{
for(int i = Convert.ToInt32(startno3.Text); i<Convert.ToInt32(endno3.Text); i++) {
ASCIIEncoding encoding=new ASCIIEncoding();
string postData="id=1";
qstr3 = encoding.GetBytes(postData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost/ornek/1.php");
if(key1.Text!="") {
request.Headers.Add("Cookie", "PHPSESSID=" + key1.Text);
}
request.Method = "POST";
request.ContentType="application/x-www-form-urlencoded";
request.ContentLength = data.Length;
IAsyncResult asyncResult = request.BeginGetResponse(new AsyncCallback(EndScanFeeds), request);
}
}
public void EndScanFeeds(IAsyncResult result) {
HttpWebRequest request = null;
HttpWebResponse response = null;
Stream stream = null;
StreamReader streamReader = null;
try {
request = (HttpWebRequest)result.AsyncState;
response = (HttpWebResponse)request.EndGetResponse(result);
stream = response.GetResponseStream();
streamReader = new StreamReader(stream);
string feedData = streamReader.ReadToEnd();
response.Close();
stream.Close();
streamReader.Close();
MessageBox.Show(feedData);
}
catch(Exception ex) {
throw(ex);
}
finally {
if(response != null)
response.Close();
if(stream != null)
stream.Close();
if(streamReader != null)
streamReader.Close();
}
} c