我正在關注http://msdn.microsoft.com/en-us/library/bb332338.aspx作爲Windows服務託管我的服務。它安裝得很好,但我想實際上將恢復選項設置爲「重新啓動服務」的「首次失敗」,「第二次失敗」或「後續失敗」。這怎麼能實現?與我的託管Windows服務的安裝程序一起,發生錯誤時是否可以設置恢復選項?
3
A
回答
4
這樣做的選擇都不是簡單的,他們需要調用一些方法把它關閉。你可以使用類似下面的擴展名,http://www.codeproject.com/Articles/6164/A-ServiceInstaller-Extension-That-Enables-Recovery或使用命令滾動你自己的東西。
[DllImport("advapi32.dll", EntryPoint="ChangeServiceConfig2")]
public static extern bool
ChangeServiceFailureActions(IntPtr hService, int dwInfoLevel,
[ MarshalAs(UnmanagedType.Struct) ] ref SERVICE_FAILURE_ACTIONS lpInfo);
[DllImport("advapi32.dll", EntryPoint="ChangeServiceConfig2")]
public static extern bool
ChangeServiceDescription(IntPtr hService, int dwInfoLevel,
[ MarshalAs(UnmanagedType.Struct) ] ref SERVICE_DESCRIPTION lpInfo);
見http://netcode.ru/dotnet/?lang=&katID=30&skatID=277&artID=7660以獲取更多信息
2
您可以使用sc.exe從命令行設置恢復選項。這個答案對如何做到這一點使用C#一個很好的例子:
相關問題
- 1. wcf服務託管在Windows服務安裝錯誤
- 2. 使用SC安裝Windows服務,然後設置恢復屬性
- 3. 是否可以運行在Windows服務中託管的Orleans
- 4. Wix:防止Windows安裝程序服務恢復文件
- 5. 我有什麼安裝程序選項將Windows服務與WPF應用程序捆綁在一起?
- 6. 在Windows服務上設置恢復選項
- 7. 我的Windows服務應用程序安裝項目中的錯誤1001
- 8. 我可以在共享託管服務器上安裝git嗎?
- 9. 使用PowerShell設置遠程服務的恢復選項?
- 10. Windows服務與託管的WCF服務
- 11. 是否可以在Windows Server 2012上安裝遠程服務器管理工具?
- 12. 嘗試安裝Windows服務時看不到我的服務安裝程序
- 13. WAS託管與Windows服務託管
- 14. 我可以從代碼中設置Windows服務的重啓/恢復屬性嗎?
- 15. 我可以在Windows服務中託管WCF服務嗎?
- 16. Windows服務安裝程序
- 17. 託管Silverlight應用程序頁面與WCF服務的錯誤
- 18. 在Windows服務器上託管的TeamCity上設置Rails項目
- 19. 託管WCF時發生服務器錯誤
- 20. Windows安裝程序設置與COM Dll
- 21. 在安裝時或安裝後設置選項應用程序
- 22. 安裝的產品與卸載Windows服務時的安裝源錯誤不符
- 23. 是否可以將無頭Eclipse RCP應用程序安裝爲Windows服務?
- 24. 是否可以設置配置文件的值來反映所選的Windows安裝程序路徑?
- 25. 權限錯誤設置與changeserviceconfig2恢復選項
- 26. IIS WCF服務託管與Windows服務
- 27. 以編程方式恢復Windows服務
- 28. 錯誤發生時我安裝Gitolite
- 29. 是否可以使用NSIS安裝程序來安裝Safari(Windows)擴展程序?
- 30. 是否可以從我的iPhone恢復iOS應用程序?
啊,這似乎是更正確的方法來做到這一點。 – Alexandru