调用GetResponse()抛出(500)内部服务器错误
本文关键字:服务器 错误 内部 抛出 GetResponse 调用 | 更新日期: 2023-09-27 18:19:22
是什么导致这个异常被抛出,以及如何补救
我正在向服务器发送API Post,传递一个序列化的XML文件,并且我期望一个返回调用。
相反,我的代码在GetResponse()调用时抛出500内部服务器错误。
我已经检查了我文件的语法,它是正确的。我也知道我的逻辑工作,因为我已经在其他调用中使用了它。
try
{
wWebRequest = (HttpWebRequest)WebRequest.Create(strWebAddressAuthentication);
wWebRequest.CookieContainer = new CookieContainer();
wWebRequest.Method = sHTTPTransMethod;
wWebRequest.ServicePoint.Expect100Continue = false;
wWebRequest.UserAgent = sUserAgent;
wWebRequest.ContentType = srequestContentType;
FileInfo fInfo = new FileInfo(filename);
long numBytes = fInfo.Length;
double dLen = Convert.ToDouble(fInfo.Length / 1000000);
if (dLen < 100)
{
fStream = new FileStream(filename, FileMode.Open, FileAccess.Read);
br = new BinaryReader(fStream);
data = br.ReadBytes((int)numBytes);
br.Close();
wWebRequest.ContentLength = data.Length;
dataStream = wWebRequest.GetRequestStream();
dataStream.Write(data, 0, data.Length);
dataStream.Close();
response = (HttpWebResponse)wWebRequest.GetResponse();
foreach (Cookie cook in response.Cookies)
{
myCookieContainer.Add(cook);
}
txtXmlReturned.Text = (((HttpWebResponse)response).StatusDescription);
sServerResponse = txtXmlReturned.Text + Environment.NewLine;
dataStream = response.GetResponseStream();
reader = new StreamReader(dataStream);
responseFromServer = reader.ReadToEnd();
txtXmlReturned.Text = txtXmlReturned.Text + responseFromServer + Environment.NewLine;
reader.Close();
response.Close();
fStream.Close();
fStream.Dispose();
// -----------------------------------------------------------
}
else
{
MessageBox.Show("The file selected exceeds the size limit for uploads.", "File Size");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(), "Upload Error");
}
}
500 Internal Server Error表示服务器端有问题。你在为客户写作。看看如果你在浏览器中访问你正在使用的url会发生什么。
对于我们来说,我们的一个应用程序停止工作并以500代码响应。结果是申请池被搞砸了。重新启动有问题的网站解决了问题。当然,可能还有其他潜在的问题,但这款应用已经运行多年了,这只是我们第二次遇到500分。我们的应用程序也没有记录任何内容。
检查IIS,假设它是IIS,并且你可以访问服务器,看看那里是否有什么错误