private string GetStatusString(System.ServiceProcess.ServiceControllerStatus status) { string retVal = ""; if (status == System.ServiceProcess.ServiceControllerStatus.ContinuePending) { retVal = System.ServiceProcess.ServiceControllerStatus.ContinuePending.ToString(); } if (status == System.ServiceProcess.ServiceControllerStatus.Paused) { retVal = System.ServiceProcess.ServiceControllerStatus.Paused.ToString(); } if (status == System.ServiceProcess.ServiceControllerStatus.PausePending) { retVal = System.ServiceProcess.ServiceControllerStatus.PausePending.ToString(); } if (status == System.ServiceProcess.ServiceControllerStatus.Running) { retVal = System.ServiceProcess.ServiceControllerStatus.Running.ToString(); } if (status == System.ServiceProcess.ServiceControllerStatus.StartPending) { retVal = System.ServiceProcess.ServiceControllerStatus.StartPending.ToString(); } if (status == System.ServiceProcess.ServiceControllerStatus.Stopped) { retVal = System.ServiceProcess.ServiceControllerStatus.Stopped.ToString(); } if (status == System.ServiceProcess.ServiceControllerStatus.StopPending) { retVal = System.ServiceProcess.ServiceControllerStatus.StopPending.ToString(); } return(retVal); }
public static bool _WaitForStatus_System_ServiceProcess_ServiceController_System_ServiceProcess_ServiceControllerStatus( ) { //Parameters System.ServiceProcess.ServiceControllerStatus desiredStatus = null; //Exception Exception exception_Real = null; Exception exception_Intercepted = null; InterceptionMaintenance.disableInterception( ); try { returnValue_Real = System.ServiceProcess.ServiceController.WaitForStatus(desiredStatus); } catch (Exception e) { exception_Real = e; } InterceptionMaintenance.enableInterception( ); try { returnValue_Intercepted = System.ServiceProcess.ServiceController.WaitForStatus(desiredStatus); } catch (Exception e) { exception_Intercepted = e; } }
void ucDataCollectionServiceController_StatusChanged(object sender, WindowsServiceControllerEventArgs e) { Trace.TraceInformation("Service Status: " + e.CurrentStatus.ToString()); switch (e.CurrentStatus) { case System.ServiceProcess.ServiceControllerStatus.Running: DataCollectionServiceControllerStatus = System.ServiceProcess.ServiceControllerStatus.Running; if (this.WindowsServiceControllerStatus == System.ServiceProcess.ServiceControllerStatus.Running) { ucDataCollectionProcessInformation.Enabled = true; } else { ucDataCollectionProcessInformation.Enabled = false; } btnGetCSQsRealtimeData.Enabled = true; btnGetContactRealtimeData.Enabled = true; break; case System.ServiceProcess.ServiceControllerStatus.Stopped: DataCollectionServiceControllerStatus = System.ServiceProcess.ServiceControllerStatus.Stopped; ucDataCollectionProcessInformation.Reset(); ucDataCollectionProcessInformation.Enabled = false; btnGetCSQsRealtimeData.Enabled = false; btnGetContactRealtimeData.Enabled = false; break; default: DataCollectionServiceControllerStatus = System.ServiceProcess.ServiceControllerStatus.Stopped; ucDataCollectionProcessInformation.Enabled = false; ucDataCollectionProcessInformation.Enabled = false; btnGetCSQsRealtimeData.Enabled = false; btnGetContactRealtimeData.Enabled = false; break; } }
public static TransitionX MeasureServiceTranitionStatus(SStatus oldStatus, SStatus newStatus) { if (oldStatus == newStatus) { return TransitionX.None; } var matchingTuple = ServicesTransitionReference.Where(t => t.Item1 == oldStatus).FirstOrDefault(t => t.Item2 == newStatus); if (matchingTuple == null) { return TransitionX.Other; } return matchingTuple.Item3; }
public static void Main(string[] args) { Directory.SetCurrentDirectory(Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName); RelayConfig relay = new RelayConfig(); ServiceControlManager sc = new ServiceControlManager(relay.GetServerServiceName()); RequestManager request = new RequestManager(); SQLDataAddManager exec = new SQLDataAddManager(relay.GetSQLExecuteInformation(), relay.GetTableStructInfoFile(), relay.GetSQLMaxDataNum()); for (System.ServiceProcess.ServiceControllerStatus status = sc.GetServiceStatus(); status != System.ServiceProcess.ServiceControllerStatus.StopPending; status = sc.GetServiceStatus()) { if (status != System.ServiceProcess.ServiceControllerStatus.Running) { continue; } } }
public void WaitForStatus(System.ServiceProcess.ServiceControllerStatus desiredStatus, System.TimeSpan timeout) { }
public void WaitForStatus(System.ServiceProcess.ServiceControllerStatus desiredStatus) { }
void ucWindowsServiceController_StatusChanged(object sender, WindowsServiceControllerEventArgs e) { Trace.TraceInformation("Service Status: " + e.CurrentStatus.ToString()); switch (e.CurrentStatus) { case System.ServiceProcess.ServiceControllerStatus.Running: WindowsServiceControllerStatus = System.ServiceProcess.ServiceControllerStatus.Running; try { if (_remObj != null) { _remObj = null; } _remObj = (InterprocessCommunicationServer)Activator.GetObject(typeof(InterprocessCommunicationServer), "tcp://127.0.0.1:" + Constants.IPC_PORT + "/" + Constants.IPC_URI); if (_ApplicationSettings != null) { _ApplicationSettings = null; } _ApplicationSettings = (ApplicationSettings)_remObj.GetApplicationSettings(); ucDataCollectionProcessInformation.SetApplicationSettings(_ApplicationSettings); ucWebServerSettings.txtWebServerIPAddress.Text = _ApplicationSettings.WebServerIP; ucWebServerSettings.txtWebServerPort.Text = _ApplicationSettings.WebServerPort; ucWebServerSettings.txtWebServerPrefix.Text = _ApplicationSettings.WebServerPrefix; ucWebServerSettings.txtContactDataCollectionPort.Text = _ApplicationSettings.WebServerDataCollectionPort; ucEmailSettings.txtEmailFrom.Text = _ApplicationSettings.EmailFrom; ucEmailSettings.txtEmailTo.Text = _ApplicationSettings.EmailTo; ucEmailSettings.txtSMTPServer.Text = _ApplicationSettings.SMTPServer; ucEmailSettings.txtSMTPPort.Text = _ApplicationSettings.SMTPPort; ucEmailSettings.txtSMTPUser.Text = _ApplicationSettings.SMTPUserName; ucEmailSettings.txtSMTPPassword.Text = _ApplicationSettings.SMTPPassword; ucEmailSettings.ckbEmailFailureNotifications.Checked = !_ApplicationSettings.EmailOnFailure; ucEmailSettings.ckbEmailFailureNotifications.Checked = _ApplicationSettings.EmailOnFailure; ucEmailSettings.ckbEmailSuccessNotifications.Checked = !_ApplicationSettings.EmailOnSuccess; ucEmailSettings.ckbEmailSuccessNotifications.Checked = _ApplicationSettings.EmailOnSuccess; ucUCCXInformation.txtUCCXNode1IPAddress.Text = _ApplicationSettings.UCCXNode1IPAddress; ucUCCXInformation.txtUCCXNode2IPAddress.Text = _ApplicationSettings.UCCXNode2IPAddress; ucUCCXInformation.txtUCCXApplicationPort.Text = _ApplicationSettings.UCCXApplicationPort; ucUCCXInformation.txtUCCXRealtimeDataPort.Text = _ApplicationSettings.UCCXRealtimeDataPort; ucUCCXInformation.txtAuthorizationPrefix.Text = _ApplicationSettings.UCCXAuthorizationPrefix; ucUCCXInformation.txtCallbackPrefix.Text = _ApplicationSettings.UCCXCallbackPrefix; ucUCCXInformation.txtUCCXAdminUser.Text = _ApplicationSettings.UCCXAdminUser; ucUCCXInformation.txtUCCXAdminPassword.Text = _ApplicationSettings.UCCXAdminPassword; ucUCCXInformation.txtNumberOfIVRPorts.Text = _ApplicationSettings.UCCXNumberOfIVRPorts; ucUCCXInformation.txtMaxIVRPortUsagePercent.Text = _ApplicationSettings.UCCXMaxIVRPortUsagePercent; ucCallbackRecordsSettings.txtCallbackRecordsMaximumNumberOfDays.Text = _ApplicationSettings.MaximumNumberOfDays.ToString(); ucCallbackRecordsSettings.txtCallbackRecordsMaximumNumberOfAttempts.Text = _ApplicationSettings.MaximumNumberOfAttempts.ToString(); ucCallbackRecordsSettings.txtCallbackRecordsMinimumIntervalBetweenRetries.Text = _ApplicationSettings.MinimumIntervalBetweenRetries.ToString(); ucBasicInsertionThrottling.ckbEnabled.Checked = !_ApplicationSettings.BasicInsertionThrottling_Enabled; ucBasicInsertionThrottling.ckbEnabled.Checked = _ApplicationSettings.BasicInsertionThrottling_Enabled; ucBasicInsertionThrottling.txtMaximumRecordsAtATime.Text = _ApplicationSettings.BasicInsertionThrottling_MaximumRecordsAtATime.ToString(); ucDebugSettings.ckbDebugEnabled.Checked = _ApplicationSettings.Debug; ucDebugSettings.ckbDebugEnabled.Checked = _ApplicationSettings.Debug; ucDebugSettings.cbDebugLevel.Text = _ApplicationSettings.DebugLevel; if (ucDebugSettings.cbDebugLevel.Text.Length == 0) { ucDebugSettings.cbDebugLevel.Text = "Verbose"; } ucDebugSettings.cbRetainUnit.Text = _ApplicationSettings.DebugRetainUnit; if (ucDebugSettings.cbRetainUnit.Text.Length == 0) { ucDebugSettings.cbRetainUnit.Text = "Files"; } ucDebugSettings.txtRetainValue.Text = _ApplicationSettings.DebugRetainValue; if (ucDebugSettings.txtRetainValue.Text.Length == 0) { ucDebugSettings.txtRetainValue.Text = "100"; } } catch (Exception ex) { Trace.TraceWarning(ex.Message + Environment.NewLine + ex.StackTrace); MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace); } if (DataCollectionServiceControllerStatus == System.ServiceProcess.ServiceControllerStatus.Running) { ucDataCollectionProcessInformation.Enabled = true; } else { ucDataCollectionProcessInformation.Enabled = false; } ucWebServerSettings.Enabled = true; ucEmailSettings.Enabled = true; ucDebugSettings.Enabled = true; ucUCCXInformation.Enabled = true; ucCallbackRecordsSettings.Enabled = true; ucBasicInsertionThrottling.Enabled = true; mnuMainCallbackAdministration.Enabled = true; mnuMainCallbackDiagnostics.Enabled = true; btnSave.Enabled = true; _ChangesDetected = false; _ChangesSaved = false; break; case System.ServiceProcess.ServiceControllerStatus.Stopped: WindowsServiceControllerStatus = System.ServiceProcess.ServiceControllerStatus.Stopped; ucWebServerSettings.Enabled = false; ucEmailSettings.Enabled = false; ucDebugSettings.Enabled = false; ucUCCXInformation.Enabled = false; ucCallbackRecordsSettings.Enabled = false; ucBasicInsertionThrottling.Enabled = false; mnuMainCallbackAdministration.Enabled = false; mnuMainCallbackDiagnostics.Enabled = false; ucDataCollectionProcessInformation.SetApplicationSettings(null); ucDataCollectionProcessInformation.Enabled = false; ucDataCollectionProcessInformation.Reset(); ucRealtimeProcessInformation.ResetMemoryCounterLabels(); btnSave.Enabled = false; try { if (_remObj != null) { _remObj = null; } if (_ApplicationSettings != null) { _ApplicationSettings = null; } } catch (Exception ex) { MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace); } _ChangesDetected = false; _ChangesSaved = false; break; default: WindowsServiceControllerStatus = System.ServiceProcess.ServiceControllerStatus.Stopped; mnuMainCallbackAdministration.Enabled = false; mnuMainCallbackDiagnostics.Enabled = false; ucDataCollectionProcessInformation.Enabled = false; break; } }
public WindowsServiceControllerEventArgs(System.ServiceProcess.ServiceControllerStatus CurrentStatus) { _CurrentStatus = CurrentStatus; }
private void tmrCheckService_Tick(object sender, EventArgs e) { try { lblServiceStatus.Text = _SvcController.Status().ToString(); if (_SvcController.Status() != _PreviousStatus) { if (StatusChanged != null) { StatusChanged(this, new WindowsServiceControllerEventArgs(_SvcController.Status())); } _PreviousStatus = _SvcController.Status(); } switch (_SvcController.Status()) { case System.ServiceProcess.ServiceControllerStatus.Running: if (_UseProcessInfo) { if (IsProcessRunning()) { btnStart.Enabled = false; btnStop.Enabled = true; lblStatusDescription.Text = "This service is currently running."; } else { lblStatusDescription.Text = "Waiting for service to start..."; Trace.TraceWarning("This is an unexpected state!!!"); } } else { btnStart.Enabled = false; btnStop.Enabled = true; lblStatusDescription.Text = "This service is currently running."; } break; case System.ServiceProcess.ServiceControllerStatus.Stopped: if (_UseProcessInfo) { if (IsProcessRunning()) { lblStatusDescription.Text = "Waiting for the process to stop..."; } else { btnStart.Enabled = true; btnStop.Enabled = false; lblStatusDescription.Text = "This service is currently stopped."; } } else { btnStart.Enabled = true; btnStop.Enabled = false; lblStatusDescription.Text = "This service is currently stopped."; } break; case System.ServiceProcess.ServiceControllerStatus.Paused: btnStart.Enabled = false; btnStop.Enabled = false; lblStatusDescription.Text = "This service is currently paused. Please use the Services dialog to resume it."; break; default: btnStart.Enabled = false; btnStop.Enabled = false; //lblStatusDescription.Text = "This service is currently in an intermediate state."; break; } } catch (Exception ex) { Trace.TraceError("Exception:" + ex.Message + Environment.NewLine + "Stack Trace:" + ex.StackTrace); } }
private async Task WaitForStatusChange(System.ServiceProcess.ServiceController serviceController, System.ServiceProcess.ServiceControllerStatus NewStatus) { int count = 0; while (serviceController.Status != NewStatus && count < 30) { await Task.Delay(1000); serviceController.Refresh(); count++; if (NewStatus == System.ServiceProcess.ServiceControllerStatus.Running && serviceController.Status == System.ServiceProcess.ServiceControllerStatus.Stopped) { break; } } if (serviceController.Status != NewStatus) { throw new Exception("Failed to change status of service. Current status: " + serviceController.Status + " Desired status: " + NewStatus); } }