如何修复第二次调用方法时的(500)内部服务器错误
本文关键字:内部 服务器 错误 第二次 何修复 调用 方法 | 更新日期: 2023-09-27 18:00:32
我在C#程序中写了一个方法。这是代码:
private string connect(string mypage, string myrln, string myusername , string mypassword)
{
WebRequest request = WebRequest.Create("http://localhost/vpn/"+mypage+".asp?prog=y&u="+myusername+"&p="+mypassword+"&rln="+myrln);
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
}
这是我第一次调用这个方法,Everything工作正常。但这是第二次引发(500)内部服务器错误。我该怎么解决这个问题?
错误在这一行:
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
错误发生在服务器上(很可能发生在.ASP页面中)。将日志记录添加到服务器页面,这样您就可以在.asp页面中了解发生了什么。
此外,在代码周围使用一个using,以确保在抛出异常时将其处理掉。
WebRequest request = WebRequest.Create("http://localhost/vpn/"+mypage+".asp?prog=y&u="+myusername+"&p="+mypassword+"&rln="+myrln);
request.Credentials = CredentialCache.DefaultCredentials;
string responseFromServer;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (Stream dataStream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(dataStream))
{
responseFromServer = reader.ReadToEnd();
}