當我沒有以管理員身份運行時,是否有一種在.Net中開發服務的簡單方法?我遇到了一些問題。首先,在調試時,不能只從Visual Studio中按F5,因爲它說服務必須首先安裝,然後從服務管理員工具運行。問題是沒有管理員權限,我無法創建或控制服務。我們使用Windows Server 2008和AD來管理我們的用戶。是否有一組特定的權限可供用戶使用,以便他們可以添加/刪除/啓動/停止服務?如果我們只想讓開發人員訪問他們自己創建的服務,會怎樣另外,一旦服務正在運行,調試它的最佳方式是什麼。假設服務已經啓動並且已經在運行,Visual Studio可以連接到已經運行的進程,是否有更好的方法,以便從服務的入口開始調試?如何在沒有以管理員身份登錄時開發.Net服務
3
A
回答
1
我在處理服務時傾向於做的一件事是創建一個控制檯應用程序以在開發過程中運行代碼。這意味着您必須將該服務作爲執行該工作的代碼的薄層,因此您可以從您的控制檯應用程序調用該代碼,但這不是一個壞主意。
我知道這並不完全回答你的問題,但希望可能會有所幫助!
1
您的用戶需要作爲服務登錄的權限。
使用管理工具,本地安全策略,本地策略,用戶權限分配。
將您的用戶添加到「作爲服務登錄」列表中。
您無法將此權限限制爲特定服務。
對於調試 - 我曾經使用過的一個技巧是在早期邏輯中添加Sleep(20000);
以使調試器有時間連接。您必須確保您的服務始終告知Service Control Maanger它處於清醒狀態(ServiceStatus = SERVICE_START_PENDING),否則它將被視爲死亡並被殺死。
1
Kibbee,
這實際上是一個我遇到過自己的問題。解決Visual Studio問題的最簡單方法是創建一個適用於服務級別頂部的應用程序。這可能是一個簡單的控制檯應用程序,使得調用與服務相同。如果正確完成,這將與服務完全一樣,而不是真正的服務,這將允許開發人員進行正確的測試和調試。
實際上,您可以讓用戶無需管理員即可運行服務,現在無論您是否可以將它們隔離到特定服務,我都不確定。
相關問題
- 1. 管理員登錄開發
- 2. 以全局管理員身份登錄時AADSTS90093
- 3. 未以管理員身份登錄時出現.NET硬件訪問問題
- 4. 無法以管理員身份在PrestaShop登錄
- 5. 如何安裝以管理員身份運行的Windows服務?
- 6. 運行登錄PowerShell的開始處理不以管理員身份
- 7. Umbraco - 新鮮安裝後無法以管理員身份登錄
- 8. 讓管理員以用戶身份登錄
- 9. 拒絕某些域用戶以管理員身份登錄
- 10. Bonitasoft無法以管理員身份登錄
- 11. 我無法以管理員身份登錄
- 12. Wp ajax本地wamp除非以管理員身份登錄
- 13. 以管理員身份登錄Facebook頁面
- 14. 無法以管理員身份登錄laravel4
- 15. 如何在.Net Windows服務中編輯「登錄身份」用戶
- 16. 如何在啓動時以管理員身份運行腳本
- 17. 有沒有辦法在Windows Vista中以管理員身份運行ANT任務?
- 18. 無法以模擬管理員身份連接到服務器
- 19. 當以管理員身份運行時獲取當前登錄的用戶
- 20. log4net不以管理員身份運行時記錄到eventlog
- 21. 報表服務器主頁僅在以管理員身份運行時顯示
- 22. ASP.NET會員以用戶身份登錄
- 23. Laravel 5.4多重身份驗證管理員和用戶重定向到用戶登錄時登錄爲管理
- 24. 執行目錄從管理員以管理員身份啓動時發生的更改
- 25. 以管理員身份運行程序
- 26. 以管理員身份運行實例
- 27. CreateProcess以管理員身份運行
- 28. Java:以管理員身份運行
- 29. WNetGetConnection並以管理員身份運行
- 30. 以非管理員身份安裝XAMPP
這是一個好主意,但它也可以調試服務本身,因爲它可能在內置或不同的用戶帳戶下運行。 – 2010-11-15 16:01:36