2009-02-06 54 views

回答

2

你可以做这样的事情:

System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(serverUrl); 
System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse(); 

if (response.StatusCode == System.Net.HttpStatusCode.OK) 
{ 
    response.Close(); 
    return true; 
} 
+0

这是一个坏主意。你假设其他网站会作出回应。如果没有,你会等待默认超时。在此期间,WebRequest阻止加载页面。 – 2009-02-06 21:53:20

0

是否有这样做什么特别的原因?如果有商业原因,那么你可能没有选择。

一般来说,这是一个坏主意。互联网的重点在于它的不连贯性。没有“保证交付”。

虽这么说,你可以加载页面,通过使用“的WebRequest和WebResponse”阶级对另一个网站打电话时。请注意,如果其他站点关闭,则此请求将挂起,直至超时。您的用户将遇到此超时,您的页面无法加载,直到WebRequest发送到其他页面超时。如果没有仔细实施,另一个网站被关闭可能会让您的网站显示为关闭。

+0

我需要重定向到其他网站反正,有时需要很长的时间得到回应,所以我认为它可能更好地重定向前用短超时尝试... – Fred 2009-02-06 22:10:11

0

您可以将新建立一个HttpWebRequest和拍客的HTTP“GET”,并确保返回的状态代码为200

0

很天真,不是特别快,但一个开始:

if (new System.Net.WebClient().DownloadString(" url here ").Length > 0) 
{ 
    // ... 
} 
+0

我认为这将文本下载无论如何,即使网站没有找到。在这种情况下,文本将是“网站未找到错误”或什么 – azamsharp 2009-02-07 03:34:19

0

你应该启动一个线程在定期检查的网站()的可用性应用的开始。保持Hashtable/Dictionary/whatver与这方面的信息,并在需要时查询它。

如果你们需要关于如何做我的回答此评论的具体细节。