2015-05-25 84 views
-1

我需要傳遞參數給窗口服務的Main(string[] args),我可以傳遞參數通過參數傳遞到Windows服務的主要(字串[] args)

How to pass parameters to Windows Service?

作廢 OnStart(string[] args)通過服務的屬性

示例代碼:

static void Main(string[] args)////How to pass args to this function 
{ 
//// some code 
} 
protected override void OnStart(string[] args)////by using above link i can pass parameters to this function 
{ 
////some code 
} 

注:我使用的項目屬性傳遞參數傳遞給主(),但它不能在實時幫助。

這是這樣做,因爲我無法找到這方面的任何信息的權利呢?

編輯1:

我refered這個How to pass parameters in windows service from Installer to Main function in Program.cs?,但我沒有得到多少信息,爲什麼我們不能傳?

編輯2:

我的目標是要通過一個Raygun關鍵主要(字串[] args)然後登錄錯誤的Raygun網站,所以基於這將錯誤記錄到特定版本的關鍵。所以我需要動態地將Raygun密鑰傳遞給服務,我可以通過服務屬性傳遞密鑰,然後它只會記錄onstart(...)級別,所以如果在main()級別處理任何異常,我不能到log.So我需要初始化在主方法級下面的代碼或同時服務開始

_raygunClient = new RaygunClient("Dynamic_Key"); 

服務將隨時爲發展未來的手動啓動。

+0

你不能不改變服務的圖像路徑。首先啓動可執行文件('main()'),然後服務控制管理器請求服務啓動('OnStart()')。你爲什麼要使用'main()',爲什麼不簡單地改變圖像路徑? – CodeCaster

+0

可能重複[如何將參數從Windows Installer安裝程序傳遞給Program.cs中的Main函數?](http://stackoverflow.com/questions/5055730/how-to-pass-parameters-in-windows-service-從安裝程序到主要功能在專業) –

+0

爲什麼不鏈接的重複回答你的問題? – usr

回答