天天看點

c#多線程 HttpWebRequest 無法從傳輸連接配接中讀取資料: 遠端主機強迫關閉了一個現有的連接配接。。

c#文章好找啊,記錄一下,參考解決位址:https://www.cnblogs.com/LL-723/p/4268020.html

直接貼代碼

string responseContent = "";

            int count = 0;

            Stream responseStream;

            string restring;

            try

            {

                System.GC.Collect();

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

                request.Method = "PROPFIND";

                request.KeepAlive=false;

                ServicePointManager.DefaultConnectionLimit = 500;

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                lock (sign)

                {

                    //using (Stream resStream = response.GetResponseStream())

                    //{

                    //    using (StreamReader reader = new StreamReader(resStream, Encoding.UTF8))

                    //    {

                    //        responseContent = reader.ReadToEnd();

                    //    }

                    //}

                    //restring = responseContent;

                    //方式1

                    responseStream = response.GetResponseStream();

                    MemoryStream ms = new MemoryStream();

                    responseStream.CopyTo(ms);

                    byte[] bt = ms.ToArray();

                    restring = System.Text.Encoding.UTF8.GetString(bt);

                    ms.Close();

                    responseStream.Close();

                    request.Abort();

                    request = null;

                    response.Close();

                    response=null;

                }

            }

            catch (Exception ex)

            {}

其中記憶體流方式

                   responseStream = response.GetResponseStream();

                    MemoryStream ms = new MemoryStream();

                    responseStream.CopyTo(ms);

                    byte[] bt = ms.ToArray();

                    restring = System.Text.Encoding.UTF8.GetString(bt);

能解決無法從傳輸連接配接中讀取資料: 遠端主機強迫關閉了一個現有的連接配接的問題