zoukankan      html  css  js  c++  java
  • 调用wcf 得不到HttpWebResponse.ContentLength的长度

    HttpWebRequest wreq = (HttpWebRequest)WebRequest.Create(strUrl);
                    wreq.Timeout = _httpTimeout * 1000;
                    wreq.ReadWriteTimeout = _httpTimeout * 1000;
                    wreq.Method = "POST";
                    wreq.ContentType = "application/json;charset=utf-8";
                    wreq.ContentLength = data.Length;
                    using (Stream putStream = wreq.GetRequestStream())
                    {
                        putStream.Write(data, 0, data.Length);
                    }
    
                    var resp = wreq.GetResponse() as HttpWebResponse;
                    string rst = string.Empty;
                    using (Stream putStream = resp.GetResponseStream())
                    {
                        StreamReader sr = new StreamReader(putStream);
                        rst = sr.ReadToEnd();
                    }

     --way 2,stream 转 byte[] :

     byte[] by = new byte[800];
                int size = 1024;
                int read = 0;
                using (MemoryStream ms = new MemoryStream())
                {
                    byte[] buffer = new byte[size];
                    do
                    {
                        read = stream.Read(buffer, 0, size);
                        ms.Write(buffer, 0, read);
                    } while (read > 0);
    
                    by = ms.ToArray();
                }

     stream 转 byte[] ,这个方法也可以:

    public byte[] ReadFully (Stream stream)
            { 
                // 初始化一个32k的缓存 
                byte[] buffer = new byte[32768];
                using (MemoryStream ms = new MemoryStream())
                { //返回结果后会自动回收调用该对象的Dispose方法释放内存 
                    // 不停的读取 
                    while (true)
                    {
                        int read = stream.Read(buffer, 0, buffer.Length);
                        // 直到读取完最后的3M数据就可以返回结果了 
                        if (read <= 0)
                            return ms.ToArray();
                        ms.Write(buffer, 0, read);
                    }
                }
            }

    --

  • 相关阅读:
    CF 142B Tprimes
    CF 231A Team
    poj 2001 Shortest Prefixes ——字典树入门
    hdu 1039 Easier Done Than Said?
    poj 2528 Mayor's posters
    hdu 1061 Rightmost Digit
    poj 2503 Babelfish
    CF271 A. Beautiful Year
    poj 2752
    CF271 B. Prime Matrix
  • 原文地址:https://www.cnblogs.com/runliuv/p/5669600.html
Copyright © 2011-2022 走看看