zoukankan      html  css  js  c++  java
  • 如何对HttpWebRequest异步调用?

        public static ManualResetEvent allDone = new ManualResetEvent(false);
            static void Main(string[] args)
            {          
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.contoso.com/example.aspx");
     
                request.ContentType = "application/x-www-form-urlencoded";
                request.Method = "POST";  
                request.BeginGetRequestStream(new AsyncCallback(ReadCallback), request);
     
                allDone.WaitOne();
     
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream streamResponse = response.GetResponseStream();
                StreamReader streamRead = new StreamReader(streamResponse);
                string responseString = streamRead.ReadToEnd();
     
                streamResponse.Close();
                streamRead.Close();
                response.Close();
                Console.WriteLine(responseString);
                Console.ReadKey();
            }
            private static void ReadCallback(IAsyncResult asynchronousResult)
            {
                HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
                Stream postStream = request.EndGetRequestStream(asynchronousResult);
                Console.WriteLine("Please enter the input data to be posted:");
                string postData = Console.ReadLine();
     
                byte[] byteArray = Encoding.UTF8.GetBytes(postData);
                postStream.Write(byteArray, 0, postData.Length);
                postStream.Close();
                allDone.Set();
            }
       也在网上搜了些资料,但还是找不到更好的办法,有懂的吗?知道的回复一下,谢谢!
     
  • 相关阅读:
    Entity Framework6 with Oracle(可实现code first)
    ORACLE官方全托管驱动 Oracle.ManagedDataAccess 12.1.0.1.0
    C#连接Oracle数据库的四种方法
    WPF的TextBox产生内存泄露的情况
    ArcGIS客户端API中加载大量数据的几种解决办法(以Silverlight API为例)
    ArcGISDynamicMapServiceLayer 和 ArcGISTiledMapServiceLayer 区别
    ArcGIS客户端API中加载大量数据的几种解决办法
    MVVM中间接使用事件(命令)
    Tornaod框架
    跨站请求伪造CSRF
  • 原文地址:https://www.cnblogs.com/SanMaoSpace/p/2118128.html
Copyright © 2011-2022 走看看