C#Windows服務(wù)程序的快速開發(fā)
C#Windows服務(wù)程序的快速開發(fā):在很多應(yīng)用中需要做windows服務(wù)來操作數(shù)據(jù)庫等操作,比如
(1)一些非常慢的數(shù)據(jù)庫操作,不想一次性去做,想慢慢的通過服務(wù)定時(shí)去做,比如定時(shí)為數(shù)據(jù)庫備份等
(2)在.net Remoting中利用windows服務(wù)來做Host
利用vs.net我們可以在幾分鐘之內(nèi)建立其windows服務(wù),非常簡單
下面說一下C#Windows服務(wù)程序的快速開發(fā)的步驟
C#Windows服務(wù)程序的快速開發(fā)1. 新建一個(gè)項(xiàng)目
C#Windows服務(wù)程序的快速開發(fā)2. 從一個(gè)可用的項(xiàng)目模板列表當(dāng)中選擇Windows服務(wù)
C#Windows服務(wù)程序的快速開發(fā)3. 設(shè)計(jì)器會(huì)以設(shè)計(jì)模式打開
C#Windows服務(wù)程序的快速開發(fā)4. 從工具箱的組件表當(dāng)中拖動(dòng)一個(gè)Timer對象到這個(gè)設(shè)計(jì)表面上 (注意: 要確保是從組件列表而不是從Windows窗體列表當(dāng)中使用Timer)
C#Windows服務(wù)程序的快速開發(fā)5. 設(shè)置Timer屬性,Interval屬性200毫秒(1秒進(jìn)行5次數(shù)據(jù)庫操作)
C#Windows服務(wù)程序的快速開發(fā)6. 然后為這個(gè)服務(wù)填加功能
C#Windows服務(wù)程序的快速開發(fā)7.雙擊這個(gè)Timer,然后在里面寫一些數(shù)據(jù)庫操作的代碼,比如
- SqlConnection conn=new SqlConnection(
- server=127.0.0.1;database=test;uid=sa;pwd=275280");
- SqlCommand comm=-new SqlCommand(
- insert into tb1 ('111',11)",conn);
- conn.Open();
- comm.ExecuteNonQuery();
- conn.Close();
C#Windows服務(wù)程序的快速開發(fā)8. 將這個(gè)服務(wù)程序切換到設(shè)計(jì)視圖
C#Windows服務(wù)程序的快速開發(fā)9. 右擊設(shè)計(jì)視圖選擇“添加安裝程序”
C#Windows服務(wù)程序的快速開發(fā)10. 切換到剛被添加的ProjectInstaller的設(shè)計(jì)視圖
C#Windows服務(wù)程序的快速開發(fā)11. 設(shè)置serviceInstaller1組件的屬性:
1) ServiceName = My Sample Service
2) StartType = Automatic (開機(jī)自動(dòng)運(yùn)行)
C#Windows服務(wù)程序的快速開發(fā)12. 設(shè)置serviceProcessInstaller1組件的屬性 Account = LocalSystem
C#Windows服務(wù)程序的快速開發(fā)13. 改變路徑到你項(xiàng)目所在的bin\Debug文件夾位置(如果你以Release模式編譯則在bin\Release文件夾)
C#Windows服務(wù)程序的快速開發(fā)14. 執(zhí)行命令“InstallUtil.exe MyWindowsService.exe”注冊這個(gè)服務(wù),使它建立一個(gè)合適的注冊項(xiàng)。(InstallUtil這個(gè)程序在WINDOWS文件夾\Microsoft.NET\Framework\v1.1.4322下面)
C#Windows服務(wù)程序的快速開發(fā)15. 右擊桌面上“我的電腦”,選擇“管理”就可以打計(jì)算機(jī)管理控制臺
C#Windows服務(wù)程序的快速開發(fā)16. 在“服務(wù)和應(yīng)用程序”里面的“服務(wù)”部分里,你可以發(fā)現(xiàn)你的Windows服務(wù)已經(jīng)包含在服務(wù)列表當(dāng)中了
17. 右擊你的服務(wù)選擇啟動(dòng)就可以啟動(dòng)你的服務(wù)了
看看數(shù)據(jù)庫是不是一秒多了5個(gè)記錄啊
C#Windows服務(wù)程序的快速開發(fā)需要注意的是:
如果你修改了這個(gè)服務(wù),路徑?jīng)]有變化的話是不需要重新注冊服務(wù)的,如果路徑發(fā)生了變化,需要先卸載這個(gè)服務(wù)InstallUtil.exe /u參數(shù),然后再重新安裝這個(gè)服務(wù),不能直接安裝。還有就是windows服務(wù)是沒有界面的,不要企圖用控制的輸出方式來輸出一些信息,你只能添加一個(gè)EventLog,通過WriteEntry()來寫日志。
關(guān)于怎么用windows服務(wù)來做一個(gè)遠(yuǎn)程服務(wù)可以看一下http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetHT15.asp
C#Windows服務(wù)程序的快速開發(fā)的相關(guān)內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)C#Windows服務(wù)程序的快速開發(fā)有所幫助。
【編輯推薦】