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

    public void Post(string url)
     HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.Method = "POST";
                req.KeepAlive = true;
                req.Timeout = 300000;
                req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
                postData = Encoding.UTF8.GetBytes(PostData(param));
     req.BeginGetRequestStream(new AsyncCallback(RequestStreamCallBack), req);
    
      }
       public static void RequestStreamCallBack(IAsyncResult result)
            {
                HttpWebRequest request = (HttpWebRequest)result.AsyncState;
                Stream reqStream = request.EndGetRequestStream(result);
                reqStream.Write(postData, 0, postData.Length);
                reqStream.Close();
                //如何让程序在此处步不回到界面,调用完下面的对流的读取后,在返回界面?谢谢高手指点!
                request.BeginGetResponse(new AsyncCallback(ResponseCallBack), request);
            }
            public static void ResponseCallBack(IAsyncResult result)
            {
                HttpWebRequest req = (HttpWebRequest)result.AsyncState;
                HttpWebResponse response = (HttpWebResponse)req.EndGetResponse(result);
     
                using (Stream sw = response.GetResponseStream())
                {
                    using (StreamReader reader = new StreamReader(sw))
                    {
                        xmls = reader.ReadToEnd();
                    }
                }
                if (response != null) response.Close();
     
            }
  • 相关阅读:
    类型参数化
    scala 集合类型
    scala 列表List
    统计HDFS 上字节数据统计
    用scala 实现top N 排名
    scala 基础笔记
    Java 设计模式之 装饰者模式
    通过java api 读取sql 中数据(查询)
    leetcode 34. Search for a Range
    canvas画简单电路图
  • 原文地址:https://www.cnblogs.com/SanMaoSpace/p/2118133.html
Copyright © 2011-2022 走看看