Example #1
0
        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);
        }
Example #2
0
        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;
                }
            }
        }
Example #6
0
 public void WaitForStatus(System.ServiceProcess.ServiceControllerStatus desiredStatus, System.TimeSpan timeout)
 {
 }
Example #7
0
 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);
            }
        }
Example #11
0
        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);
            }
        }