How to use HttpWebRequest (.NET) asynchronously?

后端 未结 8 1671
天涯浪人
天涯浪人 2020-11-22 13:56

How can I use HttpWebRequest (.NET, C#) asynchronously?

8条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-11-22 14:22

    Considering the answer:

    HttpWebRequest webRequest;
    
    void StartWebRequest()
    {
        webRequest.BeginGetResponse(new AsyncCallback(FinishWebRequest), null);
    }
    
    void FinishWebRequest(IAsyncResult result)
    {
        webRequest.EndGetResponse(result);
    }
    

    You could send the request pointer or any other object like this:

    void StartWebRequest()
    {
        HttpWebRequest webRequest = ...;
        webRequest.BeginGetResponse(new AsyncCallback(FinishWebRequest), webRequest);
    }
    
    void FinishWebRequest(IAsyncResult result)
    {
        HttpWebResponse response = (result.AsyncState as HttpWebRequest).EndGetResponse(result) as HttpWebResponse;
    }
    

    Greetings

提交回复
热议问题