/// <summary> /// Execute a action (start, stop, restart) on Microsoft Exchange Transport service /// </summary> /// <param name="action">TransportServiceAction</param> public void Do(TransportServiceAction action, Action <string> errorCallback) { this.errorCallback = errorCallback; lock (actions) { switch (action) { case TransportServiceAction.Start: case TransportServiceAction.Stop: actions.Enqueue(action); break; case TransportServiceAction.Restart: actions.Enqueue(TransportServiceAction.Stop); actions.Enqueue(TransportServiceAction.Start); break; } } if (thread == null || thread.ThreadState == ThreadState.Stopped) { thread = new Thread(ExecuteAction); thread.Start(); } }
/// <summary> /// Execute a action (start, stop, restart) on Microsoft Exchange Transport service /// </summary> /// <param name="action">TransportServiceAction</param> public void Do(TransportServiceAction action) { lock(this.actions) { switch (action) { case TransportServiceAction.Start: case TransportServiceAction.Stop: this.actions.Enqueue(action); break; case TransportServiceAction.Restart: this.actions.Enqueue(TransportServiceAction.Stop); this.actions.Enqueue(TransportServiceAction.Start); break; } } if(this.thread == null || this.thread.ThreadState == ThreadState.Stopped) { this.thread = new Thread(this.ExecuteAction); this.thread.Start(); } }
/// <summary> /// Execute a action (start, stop, restart) on Microsoft Exchange Transport service /// </summary> /// <param name="action">TransportServiceAction</param> public void Do(TransportServiceAction action, Action<string> errorCallback) { this.errorCallback = errorCallback; lock(actions) { switch (action) { case TransportServiceAction.Start: case TransportServiceAction.Stop: actions.Enqueue(action); break; case TransportServiceAction.Restart: actions.Enqueue(TransportServiceAction.Stop); actions.Enqueue(TransportServiceAction.Start); break; } } if(thread == null || thread.ThreadState == ThreadState.Stopped) { thread = new Thread(ExecuteAction); thread.Start(); } }