0

何らかの処理を行うために別の Web ページに送信する非同期要求があります。コードは以下のとおりです。これにはいくつか問題があります。リクエストを送信してから、完了するまで無視し、完了したらメールを送信したいと考えています。

コールバックが起動していないようです。私は何が欠けていますか?

private HttpWebRequest req = null;
private IAsyncResult result = null;

protected void btnUpload_Click(object sender, EventArgs e)
{
    StringBuilder pageUrl = "http://myurl.example.com";

    // Initialize web request
    req = (HttpWebRequest)WebRequest.Create(string.Format("{0}", pageUrl.ToString()));
    req.Method = "GET";

    // Start the asynchronous request.
    try
    {
        result = (IAsyncResult)req.BeginGetResponse(new AsyncCallback(RespCallback), null);
    }
    catch (Exception ex)
    {
        //lblProcess.Text += ex.Message.ToString();
    }
}


protected void RespCallback(IAsyncResult ar)
{
    using (WebResponse resp = req.EndGetResponse(ar))
    {
        //using (StreamReader reader = new StreamReader(resp.GetResponseStream())) {
        //    text = reader.ReadToEnd();
        //}

    //function that just sends an email
        SendBatchEmail();
    }
}
4

0 に答える 0