读书人

xml发送请求错误:基础连接已经关闭: 请

发布时间: 2012-01-14 20:02:35 作者: rapoo

xml发送请求异常:基础连接已经关闭: 请求已被取消。60分,在线等

string sendxml = "sendxml "; int length = sendxml.Length;
System.Text.Encoding encoding = System.Text.Encoding.GetEncoding( "GB2312 ");

string strUrl= "http://www.jjdjdjdjj.com ";
byte[] data = encoding.GetBytes(sendxml);

// 准备请求...
System.Net.HttpWebRequest myRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(strUrl);
myRequest.Method = "POST ";
myRequest.ContentType = "application/x-www-form-urlencoded ";
myRequest.ContentLength = data.Length;
System.IO.Stream newStream = myRequest.GetRequestStream();
// 发送数据
newStream.Write(data, 0, data.Length);
System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)myRequest.GetResponse();
newStream.Close();
Response.Write( "发送数据状态: "+res.StatusCode);
System.IO.Stream sRes = res.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(sRes);
System.Xml.XmlDocument dom = new System.Xml.XmlDocument();
dom.Load(sRes);
this.TextBox2.Text = (dom.OuterXml).ToString();


程序运行到System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)myRequest.GetResponse();就停住不动,然后过了几十秒抛异常,异常信息如下:基础连接已经关闭: 请求已被取消。

这段程序原来是可以正常运行的,并且已经排除内网不通的情况,外网一直是通的,help!

[解决办法]
一个解决方案是在application.config或web.config文件里加入

<system.net>

<settings>

<httpWebRequest useUnsafeHeaderParsing= "true " />

</settings>

</system.net>

允许系统容忍(tolerant)只以CR或LF结尾的hearder信息

读书人网 >C#

热点推荐