有沒有什麼辦法可以像Windows窗體中的Application.Restart()一樣從同一服務重新啓動Windows服務,我不想從服務啓動另一個進程來重新啓動服務。從服務重新啓動Windows服務
0
A
回答
1
我是一個名爲Daemoniq的開源Windows服務託管框架的開發人員。 Setting service recovery options是它的一個特點。您可以從http://daemoniq.org
當前功能下載包括:通過的app.config
- 容器無關的服務位置通過的app.config
- 組服務
- 一套恢復選項在同一進程的多個窗口服務通過命令行通過命令行
- 安裝,卸載,調試服務通過的app.config
- 一套服務流程憑據依靠
謝謝!
0
您還可以在安裝項目中將Custom Action添加到Custom Actions的Commit文件夾中。它必須是具有[RunInstaller(true)]屬性的從System.Configuration.Install.Installer繼承的類的類庫項目的主輸出。在這個類,你需要重寫一個基本方法:
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();
}
它的配置爲您服務,失敗後重新啓動automaticaly。
比當你需要重新啓動你的服務,你可以做
Environment.FailFast("Self restarting service...");
但它有一個缺點 - 它會被解僱的事件日誌中的錯誤消息。
相關問題
- 1. 重新啓動服務器後重新啓動WCF服務
- 2. .NET Windows服務 - 通過服務重新啓動獲取更新
- 3. 本身重新啓動Windows服務
- 4. 在c中重新啓動Windows服務#
- 5. 問題重新啓動Windows服務
- 6. 如何重新啓動Windows服務?
- 7. 如何重新啓動windows服務c#
- 8. 從java啓動windows服務
- 9. Android重新啓動服務
- 10. Android:Activity.onDestroy()重新啓動服務
- 11. 啓動Windows服務
- 12. 重新啓動服務器後無法啓動SQL服務
- 13. 從另一個服務重新啓動NetworkService服務
- 14. 流星重新啓動服務器,從服務器
- 15. 當系統重新啓動時自動啓動windows服務
- 16. 計劃任務是否影響重新啓動Windows服務?
- 17. 上重新啓動服務器proftp的服務不會自動
- 18. 雙擊啓動Windows服務
- 19. Windows服務啓動時間
- 20. Windows服務拒絕啓動
- 21. 控制啓動Windows服務
- 22. windows服務啓動失敗
- 23. Windows服務啓動和Exe
- 24. Windows服務啓動超時
- 25. 無法啓動Windows服務
- 26. Windows無法啓動服務
- 27. Windows服務沒有啓動
- 28. 自動啓動服務時,windows啓動
- 29. 無法從服務控制器啓動Windows服務
- 30. 從Python腳本啓動Windows服務
已經在這裏解答:http://stackoverflow.com/questions/220382/how-can-a-windows-service-programmatically-restart-itself – bobbymcr 2009-12-06 17:32:33