我有一個winform應用程序,需要知道SQL服務器何時可用以允許合併同步功能。我嘗試了一下以下的變體,這些變體都是一次性的,但我想提出一些更有活力的東西。網絡狀態的實時監控。哪些事件被提出?
下面的函數(謝謝你Alex_L)正在檢查SQL運行的1433端口,並且效果很好。我試圖完成的是一種實時監控這種方式。我需要創建一個Windows服務嗎?網絡連接更改等其他網絡事件呢?
這個有時連接的應用程序的用法很簡單。如果他們在我們的網絡上,則合併複製部分可用。如果他們不在我們的網絡上,那麼它不是。 SQL Server不應該可用於我們的網絡,它應該在啓用時始終可用。這就是說,我會開放解決方案,探索我們當前的網絡,而不是SQL實例。
private static bool IsSqlAvailable()
{
TcpClient tcpc = new TcpClient();
try
{
tcpc.Connect("10.250.50.30", 1433);
return true;
}
catch
{
return false;
}
}
我將如何使用它來實現動態檢查?這就是我想問的問題(也許很糟糕)。我希望程序在運行時知道連接何時可用,而不是在啓動時運行。 – 2009-07-21 13:58:34
謝謝你的迴應。這是一個可行的選擇與200個斷開連接的用戶?讓我們的生產服務器ping 200個用戶?此外,我們使用動態DNS,所以IP的變化,但我想你可以通過HOSTNAME ping通。我無法相信本地系統無法監控連接嗎?即使只是查看他們目前是否在我們的網絡上。當連接狀態發生變化時,我一定會想到一定會有事件發生。 – 2009-07-21 14:20:27