C# : System.Net.WebException: The underlying connection was closed

后端 未结 2 497
南方客
南方客 2021-01-22 12:04

I have the following code :

String url = // a valid url
String requestXml = File.ReadAllText(filePath);//opens file , reads all text and closes it
byte[] bytes =         


        
相关标签:
2条回答
  • 2021-01-22 12:33

    Don't close the stream before reading from it. This should work:

    String url = // a valid url
    String requestXml = File.ReadAllText(filePath);//opens file , reads all text and closes it
    byte[] bytes = System.Text.Encoding.ASCII.GetBytes(requestXml);
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    request.Credentials = new NetworkCredential("DEFAULT\\Admin", "Admin"); 
    request.ContentType = "application/xml";
    request.ContentLength = bytes.Length;
    request.Method = "POST";
    request.KeepAlive = false;
    using (Stream requestStream = request.GetRequestStream())
    {
        requestStream.Write(bytes, 0, bytes.Length);
        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            using (Stream responseStream = response.GetResponseStream())
            {
                using (StreamReader streamReader = new StreamReader(responseStream))
                {
                    return streamReader.ReadToEnd();
                }
            }
        }
    }
    
    0 讨论(0)
  • 2021-01-22 12:51

    Adding this line of code solved the problem for me:

    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
    

    This was taken from: https://our.umbraco.com/forum/using-umbraco-and-getting-started/74628-the-underlying-connection-was-closed-an-unexpected-error-occurred-on-a-send

    0 讨论(0)
提交回复
热议问题