private void ServiceHelper_ServiceStopping(object sender, EventArgs eventArgs)
        {
            // Shutdown algorithm processing framework
            StopAlgorithmProcessing();

            // Dispose of run-time log
            if ((object)m_runTimeLog != null)
            {
                m_serviceHelper.ServiceComponents.Remove(m_runTimeLog);
                m_runTimeLog.ProcessException -= ProcessExceptionHandler;
                m_runTimeLog.Dispose();
                m_runTimeLog = null;
            }

            if (m_allowServiceMonitors && (object)m_serviceMonitors != null)
            {
                m_serviceMonitors.AdapterLoaded   -= ServiceMonitors_AdapterLoaded;
                m_serviceMonitors.AdapterUnloaded -= ServiceMonitors_AdapterUnloaded;
                m_serviceMonitors.Dispose();
            }

            // Deregister event handlers
            m_serviceHelper.ServiceStarting -= ServiceHelper_ServiceStarting;
            m_serviceHelper.ServiceStarted  -= ServiceHelper_ServiceStarted;
            m_serviceHelper.ServiceStopping -= ServiceHelper_ServiceStopping;

            // Detach from handler for unobserved task exceptions
            TaskScheduler.UnobservedTaskException -= TaskScheduler_UnobservedTaskException;

            ShutdownHandler.InitiateSafeShutdown();
        }
Example #2
0
        /// <summary>
        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
        /// </summary>
        /// <filterpriority>2</filterpriority>
        public void Dispose()
        {
            // Stop file monitor timer
            if ((object)m_fileMonitor != null)
            {
                m_fileMonitor.Elapsed -= FileMonitor_Elapsed;
                m_fileMonitor.Dispose();
                m_fileMonitor = null;
            }

            // Dispose of fault results writers
            if ((object)m_resultsWriters != null)
            {
                m_resultsWriters.Dispose();
                m_resultsWriters = null;
            }
        }
Example #3
0
 private void ServiceHelper_ServiceStopping(object sender, EventArgs eventArgs)
 {
     m_serviceMonitors.AdapterLoaded   -= ServiceMonitors_AdapterLoaded;
     m_serviceMonitors.AdapterUnloaded -= ServiceMonitors_AdapterUnloaded;
     m_serviceMonitors.Dispose();
 }