我有檢查網站是否可用的功能。C#HttpWebResponse超時不起作用
public bool ConnectionAvailable(string strServer)
{
try
{
HttpWebRequest reqFP = (HttpWebRequest)HttpWebRequest.Create(strServer);
reqFP.Timeout = 10000;
HttpWebResponse rspFP = (HttpWebResponse)reqFP.GetResponse();
if (HttpStatusCode.OK == rspFP.StatusCode)
{
// HTTP = 200 - Internet connection available, server online
rspFP.Close();
return true;
}
else
{
// Other status - Server or connection not available
rspFP.Close();
return false;
}
}
catch (WebException)
{
// Exception - connection not available
return false;
}
}
這不是我的代碼。我在網上找到了它。
問題是當某些網站不可用時。 我想等待x毫秒(在reqFP.Timeout中設置),那麼函數應該返回false。 但每次我必須等待〜20秒(即使我在「超時」中設置了10秒)。
你知道什麼是錯的嗎?
PS:抱歉語言錯誤。
我敢肯定,在過去,我用的BeginRequest做到了這一點,並開始計時......如果定時器觸發第一它超時... – 2011-06-09 15:48:23