当前位置: 首页>>代码示例>>C#>>正文


C# HttpWebRequest.EndGetResponse方法代码示例

本文整理汇总了C#中System.Net.HttpWebRequest.EndGetResponse方法的典型用法代码示例。如果您正苦于以下问题:C# HttpWebRequest.EndGetResponse方法的具体用法?C# HttpWebRequest.EndGetResponse怎么用?C# HttpWebRequest.EndGetResponse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。


在下文中一共展示了HttpWebRequest.EndGetResponse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: RequestState

try
  {      

    // Create a HttpWebrequest object to the desired URL.
    HttpWebRequest myHttpWebRequest1= (HttpWebRequest)WebRequest.Create("http://www.contoso.com");
    
    // Create an instance of the RequestState and assign the previous myHttpWebRequest1
    // object to it's request field.  
    RequestState myRequestState = new RequestState();  
    myRequestState.request = myHttpWebRequest1;

    // Start the asynchronous request.
    IAsyncResult result=
      (IAsyncResult) myHttpWebRequest1.BeginGetResponse(new AsyncCallback(RespCallback),myRequestState);

    allDone.WaitOne();
    
    // Release the HttpWebResponse resource.
    myRequestState.response.Close();
  }
  catch(WebException e)
  {
    Console.WriteLine("\nException raised!");
    Console.WriteLine("\nMessage:{0}",e.Message);
    Console.WriteLine("\nStatus:{0}",e.Status);
    Console.WriteLine("Press any key to continue..........");
  }
  catch(Exception e)
  {
    Console.WriteLine("\nException raised!");
    Console.WriteLine("Source :{0} " , e.Source);
    Console.WriteLine("Message :{0} " , e.Message);
    Console.WriteLine("Press any key to continue..........");
    Console.Read();
  }
}
private static void RespCallback(IAsyncResult asynchronousResult)
{  
  try
  {
    // State of request is asynchronous.
    RequestState myRequestState=(RequestState) asynchronousResult.AsyncState;
    HttpWebRequest  myHttpWebRequest2=myRequestState.request;
    myRequestState.response = (HttpWebResponse) myHttpWebRequest2.EndGetResponse(asynchronousResult);
    
    // Read the response into a Stream object.
    Stream responseStream = myRequestState.response.GetResponseStream();
    myRequestState.streamResponse=responseStream;
    
    // Begin the Reading of the contents of the HTML page and print it to the console.
    IAsyncResult asynchronousInputRead = responseStream.BeginRead(myRequestState.BufferRead, 0, BUFFER_SIZE, new AsyncCallback(ReadCallBack), myRequestState);
  }
  catch(WebException e)
  {
    Console.WriteLine("\nException raised!");
    Console.WriteLine("\nMessage:{0}",e.Message);
    Console.WriteLine("\nStatus:{0}",e.Status);
  }
}
private static  void ReadCallBack(IAsyncResult asyncResult)
{
  try
  {

  RequestState myRequestState = (RequestState)asyncResult.AsyncState;
  Stream responseStream = myRequestState.streamResponse;
  int read = responseStream.EndRead( asyncResult );
  // Read the HTML page and then print it to the console.
  if (read > 0)
  {
    myRequestState.requestData.Append(Encoding.ASCII.GetString(myRequestState.BufferRead, 0, read));
    IAsyncResult asynchronousResult = responseStream.BeginRead( myRequestState.BufferRead, 0, BUFFER_SIZE, new AsyncCallback(ReadCallBack), myRequestState);
  }
  else
  {
    Console.WriteLine("\nThe contents of the Html page are : ");
    if(myRequestState.requestData.Length>1)
    {
      string stringContent;
      stringContent = myRequestState.requestData.ToString();
      Console.WriteLine(stringContent);
    }
    Console.WriteLine("Press any key to continue..........");
    Console.ReadLine();
    
    responseStream.Close();
    allDone.Set();
  }
  }
  catch(WebException e)
  {
    Console.WriteLine("\nException raised!");
    Console.WriteLine("\nMessage:{0}",e.Message);
    Console.WriteLine("\nStatus:{0}",e.Status);
  }
}
开发者ID:.NET开发者,项目名称:System.Net,代码行数:96,代码来源:HttpWebRequest.EndGetResponse


注:本文中的System.Net.HttpWebRequest.EndGetResponse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。