2013-10-16 37 views
1

最近,一個項目來到我的方式要求... 1.構建一個C#控制檯應用程序,不斷檢查網站的可用性。 2.在某處保存網站狀態,以便不同的平臺可以訪問狀態。如何使網站狀態可用於所有平臺

控制檯應用程序已完成,但我正在與我應該保存狀態的地方搏鬥。我在想一個SQL記錄。

您將如何處理您保存狀態的位置,以便它可擴展,靈活並可用於x個框架或平臺?

更新:看起來像我與DB存儲一起使用RESTful服務。我還將狀態保存到一個xml文件中,作爲後備服務被關閉。

+0

「不同的平臺」是什麼意思? –

+0

SQL似乎很合適。 – stevepkr84

+0

我投票選擇數據庫解決方案(SQL) – ChruS

回答

1

網站的可用性可以發佈到第二個網絡服務,其返回關於所述網站的可用性的JSON/Xml結果。這幾乎意味着能夠進行網絡服務呼叫的任何平臺/語言都可以檢查網站的可用性。

不可否認,這確實給失敗(狀態Web服務)的單點,但難免你,除非你想開始有故障切換網絡服務與那種事反正最終等

1

您可以創建一個web服務,並且您可能需要在防火牆上打開較少的異常端口來連接到HTTP服務器,而不是連接SQL Server數據庫。您還可以擴展該服務層,以便比在數據庫級別更容易地添加業務規則。

1

您可以將其另存爲獨立於平臺的XML。然後分享它,你可以使用一個Web服務器並在那裏發佈它。在其他網站上分享網站可用性似乎很諷刺,但正如網站一樣,其他類型的服務器/服務也可能會導致停機。

+0

我喜歡XML解決方案,因爲它的靜態。即使狀態沒有更新,仍然有最後一個已知的狀態。 – foxtrotZulu

+0

@foxtrotZulu,無論您使用的是xml文件還是數據庫,「最後的已知狀態」仍然存在 - 即使它尚未更新。 –

+0

你是對的Moo-Juice,但我仍然喜歡XML這個輕量級的工作! :) – ErwinOkken

1

我想webservice是最好的選擇。只需公開一個restful api即可得到一個帶有服務器狀態的簡單Json響應。快速和資源便宜。

1

不要重新發明輪子。註冊爲Pingdom,Montastic,AlertBot,或其中一個預先存在的服務,將爲您做這個。

但是,如果你真的必須,一個數據庫表會好的。

+1

這些服務看起來不錯,但我沒有提到我的解決方案必須是內部的。在擁有專有數據的高度安全的環境中工作意味着我無法訪問外部服務器,並且我的解決方案必須是免費的。我喜歡這些! – foxtrotZulu