我已經編寫了一個Windows服務,該服務每天處理來自服務器的文件更新。C#應用程序將數據傳遞給Windows服務
我也有一個簡單的C#應用程序,它有以下選擇:
安裝/卸載服務 開始/停止服務
而且2文本框與登錄按鈕。
我的想法是,在登錄按鈕上單擊,如果服務正在運行,則停止它,在OnStart方法中傳遞登錄信息,啓動它並讓服務工作(重新建立與服務器的連接等)。
我的問題是,是否有一種簡單的方法通過它的args []將文本框的登錄信息傳遞給OnStart方法,並點擊按鈕?我尋找解決方案,但他們都建議使用參數從命令行運行服務,我需要它完全從這個應用程序進行操作。
我還發現了一篇關於命名管道的文章,但我有理解它的意思。此外,該服務不需要任何其他參數傳遞,只有來自文本框的2個字符串。
編輯:將
ServiceController sc = new ServiceController("ServiceName", Environment.MachineName);
string[] args = new string[2];
args[0] = txtBox1.Text;
args[1] = txtBox2.Text;
sc.Start(args);
做的伎倆?
呃,我編輯了hastly編寫的字符串而不是args,但是我明白了,謝謝:)至於運行屬性和東西,我不能這麼做,這個想法是用戶只是安裝了服務並且不需要做任何事情,因爲他們不需要知道任何事情。 – Januszoff