[英]Windows service using C#
我正在嘗試開發 windows 服務,該服務偵聽 rabbitMQ 偵聽器並將其偵聽的消息存儲到數據庫中......代碼在調試模式下完美運行,但不能作為 Z0F4137ED1502B5045D6083AA258 服務運行......
調試和服務代碼:
if (!Environment.UserInteractive)
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new RabService()
};
ServiceBase.Run(ServicesToRun);
}
else
{
var service = new RabService();
service.OnStart(null);
Thread.Sleep(Timeout.Infinite);
}
任何輸入將不勝感激!
如果您與數據庫的連接字符串使用 windows 安全性,則您的調試用戶可能能夠訪問數據庫。 但是 windows 服務在另一個用戶下運行。
所以只是為了放棄這個選項,我會推薦以下內容:
然后重啟windows服務並調試。
問候,
請交叉檢查您是否執行了以下步驟:
在服務類的設計視圖中創建 windows 服務項目 go 后(只需雙擊 service1.cs 類)。
在設計視圖中右鍵單擊並 select 添加安裝程序。 這將創建一個名為 ProjectInstaller.cs 的安裝程序 class。 如果沒有 ProjectInstaller.cs 或配置 ProjectInstaller.cs 時出現任何錯誤,可能會導致服務控制台中不顯示服務。
Go 到 ProjectInstaller.cs 的設計視圖,你會在那里找到兩個安裝程序->
一個。 服務安裝程序1
灣。 服務進程安裝程序1
右鍵單擊 ServiceInstaller1 和 go 到屬性選項卡
一個。 使用您希望在服務控制台中查看服務的名稱編輯 ServiceName
灣。 將 StartType 更改為自動。
右鍵單擊 ServiceProcessInstaller1 和 go 到屬性選項卡
一個。 將帳戶更改為 LocalService
保存並嘗試。
希望這會幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.