当前位置: 首页 > 图文教程 > .Net技术 > ASP.NET > ASP.NET:小编浅谈asp.net(500) 内部服务器错误解决方法

ASP.NET
ASP.NET:小编教你使用Substitution控件在缓存页面插入内容
ASP.NET:网络上实现单点登录
ASP.NET:小编浅谈泛型的使用
ASP.NET:网络验证的一些技巧杂谈
ASP.NET:小编教你实现数字和英文字母组合的验证码图片
ASP.NET:页面尺寸自动适应 1024*768和800*600分辨率
ASP.NET:如何复制数组中一系列元素的元素
ASP.NET:小编谈用Remoting技术传送文件

ASP.NET:小编浅谈asp.net(500) 内部服务器错误解决方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 604 ::
收藏到网摘: n/a

.net中发送 xml post请求和接受xml post请求时,经常会遇到“远程服务器返回错误: (500) 内部服务器错误”。这是怎么回事呢?怎么解决呢?今天整理了一种方法,发上来,希望对大家有所帮助。

在我们平常开发异步接口的时候,往往需要开发一个windows service用来发送post请求(可以调用第一种方法);另外需要提供一个web接收端接收对方的异步调用。当接收的post数据是xml时,对方调用你的提供的接口是就会出现“远程服务器返回错误: (500) 内部服务器错误。”。

这是请求验证所导致的,只需要禁用掉请求验证就可以正常通讯了。在<@Page..%>中设置 ValidateRequest="false" 即可。(这里无需修改Content-type

 

请求端调用:

 

string strUrl = http://localhost/testxml/Default2.aspx;

 

string strParams = @"<?xml version=""1.0"" encoding=""UTF-8"" ?><channel><title>blogweather</title></channel>";

 

string returnValue = HttpClient.PostData(strUrl, strParams, Encoding.UTF8, Encoding.UTF8);

 

或者

 

string returnValue = HttpClient.PostXmlData(strUrl, strParams, Encoding.UTF8, Encoding.UTF8);

 

接收post xml 请求:

 

string request;

using (Stream MyStream = Request.InputStream)

{

byte[] _tmpData = new byte[MyStream.Length];

MyStream.Read(_tmpData, 0, _tmpData.Length);

request = Encoding.UTF8.GetString(_tmpData);

}

Response.Write(request);