//shut down by timer, in case of client crash/hang private void CheckExitTimer() { var delta = DateTime.UtcNow - this._lastMessageTime; if (delta <= TimeSpan.FromSeconds(10)) { return; } try { log.Info("Exiting by timer,timeout:" + delta.TotalSeconds); log.Info("==============SHUTTING DOWN=========="); _mainWorker.Shutdown(); _memServer.Dispose(); _inCommServer.Dispose(); _outCommServer.Dispose(); IsRunning = false; } catch (Exception ex) { log.Info("Exception on shutdown:" + ex.StackTrace); } }
//shut down by timer, in case of client crash/hang private void _exitTimer_Tick(object sender, EventArgs e) { try { log.Info("Exiting by timer,timeout:" + _exitTimer.Interval); log.Info("==============SHUTTING DOWN=========="); _mainWorker.Shutdown(); _memServer.Dispose(); _inCommServer.Dispose(); _outCommServer.Dispose(); IsRunning = false; } catch (Exception ex) { log.Info("Exception on shutdown:" + ex.StackTrace); } }