2012-07-18 84 views
0

我需要製作一個網站,用於監控/檢查部署在iis上的內部應用程序的連接性,就像我們內部網站的鏈接列表我們開發的。問題是,我將如何檢查網站是否正常運行?以及如何檢查網站是否停機?我將簡單地顯示我們系統的鏈接並根據其狀態對其進行着色,綠色爲綠色,如果紅色表示錯誤或者有錯誤,則希望得到您的建議。示例代碼將不勝感激。如何ping在iis中部署的網站/ ip

+0

您是否必須從頭開始編寫整個應用程序?這是一個解決的問題。這裏有幾個網絡應用程序可以讓你監控這種事情[Nagios](http://nagios.org/),[Zenoss](http://community.zenoss.org/index.jspa)。 – Vinay 2012-07-18 13:52:51

回答

0

如果您有機會獲得您想要監視,則網站我原以爲最簡單的方法就是在您想要監視的網站上放置一個狀態頁面,以供您的服務調查。這樣,如果網站啓動,您可以通過閱讀網頁內容來獲取更高級的狀態信息。

如果你只是想檢查http狀態,那麼只需訪問網站上的任何頁面(最好是小的!)並檢查響應狀態代碼。

喜歡的東西

   // prepare the web page we will be asking for 
       HttpWebRequest request = (HttpWebRequest) 
        WebRequest.Create(Url); 
       //if (AuthRequired()) 
       // request.Credentials = new NetworkCredential(Username, Password); 
       // execute the request 
       HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

,那麼你可以閱讀response.StatusCode

+0

嗨,我試圖爲此創建一個webservice和問題是與webrequest.Create(url)方法,在webservice.asmx沒有創建方法..什麼是這樣的解決方法?謝謝 – anonymous1110 2012-07-20 03:44:42

+0

@ anonymous1110我想你錯過了**使用**語句。 'WebRequest'方法在'System.Net'命名空間中。 – 2012-07-20 08:34:13

1

只需從服務器加載任何東西,如果它加載您的網站是啓動和運行,如果它不加載,那麼就產生錯誤或顯示紅色

1

要做到這一點最簡單的方法是有其對網站的列表,然後執行WebRequests Windows服務或計劃任務運行檢查狀態代碼。

如果返回狀態碼200,則顯示綠色。任何其他(4xx,5xx,超時),顯示紅色。讓服務將結果存儲在數據庫中,並從該數據庫讀取「紅綠」頁面。

這將是一個通用的,一刀切的解決方案。它可能不適用於所有網站,因爲有些網站可能具有基本身份驗證,在這種情況下,您的顯示器將錯誤地記錄該網站已關閉。因此,您需要針對網站存儲元數據,並執行基本身份驗證(或任何其他業務邏輯)以確定它是啓動還是停止。