如何使用webrequest 用异步的方式的得到一个网页的文本

解决方案 »

  1.   

    MSDN中有例子
          // Create an instance of the RequestState and assign the previous myHttpWebRequest
          // object to it's request field.  
          RequestState myRequestState = new RequestState();  
          myRequestState.request = myHttpWebRequest;
          // Start the asynchronous request.
          IAsyncResult result=
            (IAsyncResult) myHttpWebRequest.BeginGetResponse(new AsyncCallback(RespCallback),myRequestState);      // this line impliments the timeout, if there is a timeout, the callback fires and the request becomes aborted
          ThreadPool.RegisterWaitForSingleObject (result.AsyncWaitHandle, new WaitOrTimerCallback(TimeoutCallback), myHttpWebRequest, DefaultTimeout, true);      // The response came in the allowed time. The work processing will happen in the 
          // callback function.
          allDone.WaitOne();
          
          // Release the HttpWebResponse resource.
          myRequestState.response.Close();