我有以下代码:
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;
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
return new StreamReader(responseStream).ReadToEnd();
在运行时,我在尝试读取时遇到以下异常HTTPWebResponse
:
System.Net.WebException:基础连接已关闭:接收时发生意外错误。
---> System.IO.IOException:无法从传输连接读取数据:已建立的连接被主机中的软件中止。
---> System.Net.Sockets.SocketException:已建立的连接被主机中的软件中止
在 System.Net.Sockets.Socket.Receive(Byte[] 缓冲区、Int32 偏移量、Int32 大小、SocketFlags socketFlags)
在 System.Net.Sockets.NetworkStream.Read(Byte[] 缓冲区,Int32 偏移量,Int32 大小)
在 System.Net.Sockets.NetworkStream.Read(Byte[] 缓冲区,Int32 偏移量,Int32 大小)
在 System.Net.PooledStream.Read(Byte[] 缓冲区,Int32 偏移量,Int32 大小)
在System.Net.Connection.SyncRead(HttpWebRequest请求,布尔userRetrievedStream,布尔probeRead)
添加这行代码解决了我的问题:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
这是取自:https://our.umbraco.com/forum/using-umbraco-and-getting-started/74628-the-underlying-connection-was-filled-an-unexpected-error-occurred-on-a-send
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)