如何修复第二次调用方法时的(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();

如何修复第二次调用方法时的(500)内部服务器错误

错误发生在服务器上(很可能发生在.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();
    }