Есть ли способ перезапустить службу Windows из той же службы, что и Application.Restart() в формах Windows, я не хочу запускать другой процесс из службы для перезапуска службы.Перезапустить службу Windows из службы
ответ
Я являюсь разработчиком платформы хостинга Windows с открытым исходным кодом под названием Daemoniq. Setting service recovery options - одна из его особенностей. Вы можете скачать его с http://daemoniq.org
Текущих функций включает в себя:
- контейнера местоположение агностика службы через CommonServiceLocator
- набор общих свойств услуг, как SERVICENAME, DISPLAYNAME, описание и serviceStartMode через app.config
- перспективу несколько служб Windows по одному и тому же процессу
- набор параметров восстановления через app.config
- набор услуг зависит от App.config через учетные данные процесса обслуживания
- набора с помощью командной строки
- установки, удаления, отладок служб с помощью командной строки
Спасибо!
Вы также можете добавить команду Custom Action to Commit для пользовательских действий в проекте настройки. Он должен быть основным выходом проекта библиотеки классов с классом, унаследованным от System.Configuration.Install.Installer с атрибутом [RunInstaller (true)]. В этом классе необходимо переопределить один базовый метод:
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
ProcessStartInfo psi = new ProcessStartInfo("sc", "failure \"You service name\" reset= 60 actions= restart/1000");
psi.CreateNoWindow = true;
Process proc = Process.Start(psi);
proc.WaitForExit();
}
Это настроив свой сервис для перезагрузки автоматически после сбоя.
Чем, когда вам необходимо перезапустить службу вы можете сделать
Environment.FailFast("Self restarting service...");
Но у него есть один недостаток - он будет срабатывать сообщение об ошибке в журнале событий.
- 1. Перезапустить службы Windows с C#
- 2. Как перезапустить службу, если зависимый перезапуске службы
- 3. Как перезапустить службу RabbitMQ
- 4. Перезапустить локальную службу Windows 8.1 из приложения на C++?
- 5. Не удается перезапустить службу
- 6. Как перезапустить службу окна
- 7. Как выйти из службы Windows изнутри службы?
- 8. Windows, PHP запланированное задание, чтобы перезапустить службу не работает
- 9. Можно ли программно перезапустить службу Windows из самой службы? Или я должен выбрать другой подход?
- 10. Как перезапустить службу удаленно?
- 11. Как перезапустить службы REST?
- 12. Как перезапустить службу Windows с помощью планировщика заданий
- 13. Не удается перезапустить службу сети
- 14. Как перезапустить службу цеолометра
- 15. Не удалось перезапустить службу Shibboleth
- 16. Перезапустить службу WCF после перезагрузки сервера
- 17. Как перезапустить службу Windows после возникновения необработанного исключения
- 18. Перезапустите службу Windows с другой службы
- 19. Как перезапустить службу на удаленном компьютере в Windows?
- 20. Перезапустить службу Windows на удаленном сервере из веб-приложения с помощью Service Controller?
- 21. Перезапустить Apache из php на windows
- 22. Как остановить службу из службы
- 23. использовать веб-службу из приложения службы windows C++
- 24. Перемещение службы WCF из IIS в службу Windows
- 25. Как перезапустить убитую службу автоматически?
- 26. не удалось перезапустить службу kannel
- 27. перезапуск службы Windows из той же службы окон
- 28. Вам нужно перезапустить службу Windows, если вы изменили app.config?
- 29. Как перезапустить службу Windows сам по себе C#
- 30. Хотите перезапустить службу, если приложение остановлено пользователем из диспетчера приложений.
Уже ответил здесь: http://stackoverflow.com/questions/220382/how-can-a-windows-service-programmatically-restart-itself – bobbymcr