我的问题: HttpWebResponse.StatusCode 是否检测到 Asp.Net 错误?主要是黄屏死机?
一些背景: 我正在开发一个简单的 c# 控制台应用程序,它将测试服务器和服务以确保它们仍然正常运行。我假设由于 HttpStatusCodes 用 OK、Moved、InteralServerError 等枚举,我可以简单地执行以下操作。
WebRequest request = WebRequest.Create(url);
request.Timeout = 10000;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response == null || response.StatusCode != HttpStatusCode.OK)
{
// SERVER IS OK
return false;
}
else
{
// SERVER HAS SOME PROBLEMS
return true;
}
我今天早上发现这不起作用。一个 ASP.Net 应用程序崩溃并显示黄屏死机,我的应用程序似乎并不介意,因为 response.StatusCode 等于 HttpStatusCode.OK。
我错过了什么?
谢谢//长矛
更新 感谢乔恩,这似乎有效。
HttpWebResponse response;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException webexp)
{
response = (HttpWebResponse)webexp.Response;
}