2009-02-06 8 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與這方面的信息,並在需要時查詢它。

如果你們需要關於如何做我的回答此評論的具體細節。

相關問題