C# 对GetResponse()的调用引发(500)个内部服务器错误

C# 对GetResponse()的调用引发(500)个内部服务器错误,c#,xml,httpwebrequest,C#,Xml,Httpwebrequest,引发此异常的原因是什么?如何修复此异常 我正在向服务器发送一个API Post,传递一个序列化的XML文件,我希望返回调用会有一个 相反,我的代码在GetResponse()调用时抛出一个500内部服务器错误 我已经检查了我的文件的语法,它是正确的。我也知道我的逻辑是有效的,因为我在其他调用中使用了它 try { wWebRequest = (HttpWebRequest)WebRequest.Create(strWebAdd

引发此异常的原因是什么?如何修复此异常

我正在向服务器发送一个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");
    }
}
试试看
{                       
wWebRequest=(HttpWebRequest)WebRequest.Create(strWebAddressAuthentication);
wWebRequest.CookieContainer=新CookieContainer();
wWebRequest.Method=sHTTPTransMethod;
wWebRequest.ServicePoint.Expect100Continue=false;
wWebRequest.UserAgent=sUserAgent;
wWebRequest.ContentType=srequestContentType;
FileInfo fInfo=新的FileInfo(文件名);
long numBytes=fInfo.Length;
double dLen=Convert.ToDouble(fInfo.Length/1000000);
如果(dLen<100)
{
fStream=newfilestream(文件名,FileMode.Open,FileAccess.Read);
br=新的二进制读取器(fStream);
数据=br.ReadBytes((int)numBytes);
br.Close();
wWebRequest.ContentLength=数据.Length;
dataStream=wWebRequest.GetRequestStream();
dataStream.Write(data,0,data.Length);
dataStream.Close();
response=(HttpWebResponse)wWebRequest.GetResponse();
foreach(Cookie-cook-in-response.Cookies)
{
mycokiecontainer.Add(烹饪);
}
txtXmlReturned.Text=(((HttpWebResponse)response).StatusDescription);
sServerResponse=txtXmlReturned.Text+Environment.NewLine;
dataStream=response.GetResponseStream();
reader=新的StreamReader(数据流);
responseFromServer=reader.ReadToEnd();
txtXmlReturned.Text=txtXmlReturned.Text+responseFromServer+Environment.NewLine;
reader.Close();
response.Close();
fStream.Close();
fStream.Dispose();
// -----------------------------------------------------------
}
其他的
{
Show(“所选文件超出了上载的大小限制。”,“文件大小”);
}
}
捕获(例外情况除外)
{
Show(例如Message.ToString(),“上载错误”);
}
}

500内部服务器错误意味着服务器端有问题。你在为客户写信。查看在浏览器中使用的url时会发生什么

500内部服务器错误意味着服务器端有问题。你在为客户写信。查看在浏览器中使用的url时会发生什么

对我们来说,我们的一个应用程序停止工作,响应代码为500。结果是应用程序池崩溃了。重新启动有问题的站点将其清除。当然,可能还有其他一些潜在的问题,但这款应用已经运行多年了,这只是我们第二次用它遇到500人。我们的应用程序也没有记录任何内容


对IIS进行检查,假设它是IIS,并且您可以访问服务器,然后查看是否有任何内容出错。

对于我们来说,我们的一个应用程序停止工作,并以500代码响应。结果是应用程序池崩溃了。重新启动有问题的站点将其清除。当然,可能还有其他一些潜在的问题,但这款应用已经运行多年了,这只是我们第二次用它遇到500人。我们的应用程序也没有记录任何内容


对IIS进行检查,假设它是IIS,并且您可以访问服务器,并查看是否有任何内容出错。

不幸的是,我没有访问服务器的权限,它归英国政府所有:)不幸的是,我没有访问服务器的权限,它归英国政府所有:)