zoukankan      html  css  js  c++  java
  • 使用 BeginGetRequestStream 方法对流实例发出异步请求

    using System;
    using System.Net;
    using System.IO;
    using System.Text; using System.Threading;

    class HttpWebRequestBeginGetRequest
    {
       
    public static ManualResetEvent allDone = new ManualResetEvent(false);
       
    public static void Main()
        {
           

               
    // Create a new HttpWebRequest object.
                HttpWebRequest request=(HttpWebRequest) WebRequest.Create("http://www.contoso.com/example.aspx");   
       
               
    // Set the ContentType property.
                request.ContentType="application/x-www-form-urlencoded";
               
    // Set the Method property to 'POST' to post data to the URI.
                request.Method = "POST";
               
    // Start the asynchronous operation.   
                request.BeginGetRequestStream(new AsyncCallback(ReadCallback), request);   
               
               
    // Keep the main thread from continuing while the asynchronous
               
    // operation completes. A real world application
               
    // could do something useful such as updating its user interface.
                allDone.WaitOne();

               
    // Get the response.
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream streamResponse
    = response.GetResponseStream();
                StreamReader streamRead
    = new StreamReader(streamResponse);
               
    string responseString = streamRead.ReadToEnd();
                Console.WriteLine(responseString);
               
    // Close the stream object.
    streamResponse.Close(); streamRead.Close(); // Release the HttpWebResponse.
                response.Close();
            }
       
       
    private static void ReadCallback(IAsyncResult asynchronousResult)
        {   
                HttpWebRequest request
    = (HttpWebRequest)asynchronousResult.AsyncState;
               
    // End the operation.
                Stream postStream = request.EndGetRequestStream(asynchronousResult);
                Console.WriteLine(
    "Please enter the input data to be posted:");
               
    string postData = Console.ReadLine ();
               
               
    // Convert the string into a byte array.
                byte[] byteArray = Encoding.UTF8.GetBytes(postData);
               
    // Write to the request stream.
                postStream.Write(byteArray, 0, postData.Length); postStream.Close (); allDone.Set(); }}
  • 相关阅读:
    Solr6.6环境安装及core的创建(win7环境)
    使用Druid作为数据源
    Windows远程数据同步工具cwRsync
    解读zookeeper的配置项
    堵塞与非堵塞原理
    Apache Hadoop2.0之HDFS均衡操作分析
    转到简书去了
    淘宝技术这十年概要
    Facebook广告API系列 Business Manager
    Facebook广告API系列 3 Ads Management
  • 原文地址:https://www.cnblogs.com/jordan2009/p/1549652.html
Copyright © 2011-2022 走看看