private void StopButton_Click(object sender, RoutedEventArgs e) { bool runAsService = this.service_checkbox.IsChecked ?? false; if (runAsService) { if (!this.IsInAdminRole()) { MessageBox.Show("To stop the service, please run application as administrator.", "Info"); return; } try { ServiceController serviceController = new ServiceController("RedfishService"); if (serviceController.CanStop) { serviceController.Stop(); this.start_button.IsEnabled = true; this.stop_button.IsEnabled = false; } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } } else { if (m_server != null) { m_server.Stop(); m_logWriter.CloseLogFile(); this.start_button.IsEnabled = true; this.stop_button.IsEnabled = false; if (m_nameServer != null) { m_nameServer.Stop(); } } } }