我正在关注,
var request = (HttpWebRequest)WebRequest.Create(serviceUrl);
var response = (HttpWebResponse)request.GetResponse();
if(response.StatusCode == HttpStatusCode.OK)
{
//perform some operations.
}
为了检查服务是否在我的asp.net c#4.0应用程序中启动并运行。 它给了我预期的结果,但如果服务没有运行,则需要花费太多时间(差不多1分钟)才能得到响应。
是他们检查服务是否正常运行的其他更好方法吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
除了向请求对象添加超时之外,您不必做比您已经做的更多的事情。请求超时应以毫秒为单位指定,因此5000
为5秒超时。
请注意,您需要捕获异常以检测超时,这是System.Net.WebException
,消息为The operation has timed out
,因此您的代码将类似于:
var request = (HttpWebRequest)WebRequest.Create(serviceUrl);
request.Timeout = 5000;
try
{
var response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
//perform some operations.
}
}
catch (WebException wex)
{
if (wex.Message == "The operation has timed out")
{
// do stuff
}
}