private void markServerDown()
{
if (isEnabled)
{
isEnabled = false;
// Create a timer to poll server status
checkServerStatusTimer = new System.Timers.Timer();
checkServerStatusTimer.Elapsed += new ElapsedEventHandler(delegate(Object sender, ElapsedEventArgs e)
{
BackgroundWorker statusPollingWorker = new BackgroundWorker();
statusPollingWorker.DoWork += delegate(object sender2, DoWorkEventArgs e2)
{
if (logic.checkServerAlive() &&
initConfiguration())
{
checkServerStatusTimer.Stop();
Globals.ThisAddIn.Dispatcher.Invoke(new displayMessageDelegate(displayMessage), new Object[] { CONNECTION_UP });
isEnabled = true;
}
};
statusPollingWorker.RunWorkerAsync();
});
checkServerStatusTimer.Interval = 3000;
checkServerStatusTimer.Start();
}
}