這實際上並不是一個問題,但我有這樣的要求,因此我需要在C#中編寫一個Windows應用程序來監視我們所有的內部和外部系統。這些系統中有一些是網站,一些是Windows應用程序,它們不斷地在包括soap api調用的數據庫中傳輸數據。我的應用程序需要做的是監視這些系統,並在發生停機時間以及停機多久時通知相關用戶。C# - Windows窗體應用程序監視器
我已經完成了使用SQL Server作爲數據庫管理系統的數據庫設計,但是我在實現方面陷入困境。我可以用什麼方法來實現這個目標? TCP/IP? 此應用程序應該每隔x秒運行一次。
我已經在一個枚舉中創建了一些標誌,它會在應用程序狀態正常,處於錯誤狀態或應該警告用戶時不斷檢查應用程序狀態。除此之外,我還創建了一個構造函數,它將通過DLL初始化服務監視器的所有組件。
事情是這樣:
[Flags]
public enum ClientApplicationState
{
ERROR = 0,
WARNING = 1,
OK = 2
}
/// <summary>
/// Constructor which sets up and initalizes all the components for the Service Monitoring DLL
/// </summary>
/// <param name="applicationName">The Name Of The Application</param>
/// <param name="port">The port on which to listen to</param>
/// <param name="timerPeriod"> Optional time in milisecinds to overide the default update freq (default is 1000)</param>
public ServiceMonitor(string applicationName, short port, int timerPeriod = 1000)
{
_messages = new List<string>();
_state = ClientApplicationState.OK;
//TODO: Throw port exception
try
{
_monClient = new MonitoringClient(applicationName, ClientApplicationState.OK, "Starting Up",
Process.GetCurrentProcess().ProcessName, port);
}
catch (Exception e)
{
}
InitTimer(timerPeriod);
_updateTimer.Enabled = true;
}
的網站託管和是活和Windows應用我們的Windows 2012 R2服務器上運行。
我該如何解決這個問題?
我覺得這個詞「服務」在語境之外被輕微誤解。我需要監控的應用程序不是Windows服務,也不是我應該寫一個Windows服務 - 只是爲了清除它。 –