1,新建乙個windows服務為:filetranceservice,
2,新增timer,該timer是 system.timers,注意:看看這個
timer
控制項的屬性中的命名空間是什麼
,如果是
system.timers.timer
那就對了;如果是
system.windows.froms.timer那就錯了(用這種timer則服務執行時不會執行我們編寫的**)。
解決方法:
刪除這個timer
;在工具箱上的元件列表上右鍵,單擊
」選擇項」出現
」選擇工具箱項
」對話方塊
,然後在
.net framwork
選項卡下找到命名空間為
system.timers
的那個timer控制項,
鉤選確認即可
.這時新的
timer
控制項出現在了工具箱的元件列表中(如圖)。現在拖動乙個timer
控制項到設計表面上。
設定timer屬性,主要是設定interval
b, 服務初始化**為:
timer timer1 = new timer(86400000);
//建構函式
public filetranceservice()
雙擊timer進入**檢視,在事件方法裡新增我們要執行的**
private void timer1_elapsed(object sender, system.timers.elapsedeventargs e)3,在設計檢視「新增安裝程式「,在新新增的安裝程式設計介面上設定「serviceinstaller1」的「service name」屬性的為:"filetranceservice",選擇「serviceprocessinstaller1」的"account"屬性為:「localsystem」。//在onstart裡設定時間啟動
protected override void onstart(string args)
{this.timer1.enabled = true;
//或者 this.timer1.start();
至此乙個簡單的服務就建完了,至於啟動服務,網上有很多例子,在此就簡單的說一下命令吧。
4,服務啟動
以命令列形式呼叫c:\windows\microsoft.net\framework\v2.0.50727目錄下的installutil.exe來註冊我們專案中bin\debug目錄下的服務程式
注意:呼叫時注意路徑一定要正確,比如:我的呼叫如下:
c:\>c:\windows\microsoft.net\framework\v2.0.50727\installutil 「 c:\firstwindowsservice\firstwindowsservice\bin\debug\filetranceservice.exe」
現在,你可在控制面板-管理工具-服務下看到你的服務了(先重新整理一下,即可看到)並且可以看到其執行效果。
注意:如果你修改了這個服務,但路徑沒有變化的話是不需要重新註冊服務的,只需要先暫停服務,重新生成
exe,
再啟動服務;如果路徑發生了變化,需要先解除安裝這個服務(使用
installutil.exe /u
命令,注意路徑
),然後再重新註冊這個服務,
c:\>c:\windows\microsoft.net\framework\v2.0.50727\installutil -u 「 c:\firstwindowsservice\firstwindowsservice\bin\debug\filetranceservice.exe」
Windows Service學習筆記
windows服務程式是windows作業系統下能完成特定功能的可執行程式。它適合需要長時間執行的功能使用。建立完成後,看到如下圖所示 將service1的名稱改成你需要的名稱,例如 helloservice 修改安裝服務名稱 修改安裝許可權 完成上面的步驟後,就可以開始我們的程式啦。主要使用到on...
Windows Service獲取執行目錄的方法
一般獲取目錄方法 首先要弄清你對 當前目錄 current directory 的定義是什麼。工作目錄 你的應用程式正在哪個目錄下工作。這個目錄並不一定是exe檔案所在的目錄,而且在程式執行中是可以改變的。system.io.directory類提供了getcurrentdirectory方法,該方...
Windows Service服務的除錯
windows service服務的除錯 寫日誌除錯 要在可能出現錯誤的地方都要做寫入日誌處理,並且多用try catch來捕獲錯誤。附加到程序 這種除錯方式可以直接進入斷點,比較直觀,只需要操作2 3步就可以,但是要求服務必須能成功開啟才能附加到程序除錯。步驟如下 1.首先編譯好服務,在合適的地方...