Visual Studio 2005 創建Windows服務程序(C#)

http://www.cnblogs.com/ruiyi1987/archive/2009/07/30/1535291.html

Visual Studio 2005 創建Windows服務程序(C#) 1、新建項目 打開VS—>文件—>新建—>項目—>Visual C#—>Windows—>Windows服務->起個名兒—>確定 (如圖) 2、添加Timer組件 從工具箱—>"組件"下拉列表中拖動一個Timer控件到設計視圖上注意:看看這個Timer控件的屬性中的命名空間是什麼,如果是System.Timers.Timer那就對了;如果是System.Windows.Froms.Timer那就錯了(用這種Timer則服務運行時不會執行我們編寫的代碼)。解決方法:刪除這個Timer;在工具箱上的組件列表上右鍵,單擊”選擇項”出現”選擇工具箱項”對話框,然後在.net Framwork選項卡下找到命名空間爲System.Timers的那個Timer控件,鉤選確認即可.這時新的Timer控件出現在了工具箱的組件列表中(如圖)。現在拖動一個Timer控件到設計表面上。 3、設置Timer屬性,主要是設置Interval屬性(單位爲毫秒),即間隔多少時間執行服務 4、雙擊Timer進入代碼視圖,在事件方法裏添加我們要執行的代碼 private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { //服務運行要執行的代碼 } 例如:我要每一分鐘在我的數據庫test下的testservice表中插入一條記錄,則可以將Timer的Interval屬性設置爲1000,並在Elapsed方法下加入以下代碼: SqlConnection conn = new SqlConnection("server=192.168.1.143;database=test;uid=sa;pwd=123"); SqlCommand comm = new SqlCommand("insert into testservice(number) values('china')", conn); conn.Open(); comm.ExecuteNonQuery(); conn.Close(); 另外,可以在OnStart和OnStop方法中加入對Timer的控制 protected override void OnStart(string[] args) { // TODO: 在此處添加代碼以啓動服務。 this.timer1.Enabled = true } protected override void OnStop() { // TODO: 在此處添加代碼以執行停止服務所需的關閉操作。 this.timer1.Enabled = false; } 5、將這個服務程序切換到設計視圖,右擊設計視圖選擇“添加安裝程序”,VS將自動添加兩個控件:serviceProcessInstaller1和serviceInstaller1。接下來設置兩個控件的屬性,主要設置: 1)serviceInstaller1的ServiceName屬性(即你的服務的名稱) 2)serviceInstaller1的StartType屬性設置爲Automatic(自動) 3)serviceProcessInstaller1的Account屬性設置爲:LocalSystmem 6、編譯生成EXE文件(在bin/debug/下) 7、註冊我們創建的服務以命令行形式調用 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727目錄下的InstallUtil.exe 來註冊我們項目中bin/debug目錄下的服務程序注意:調用時注意路徑一定要正確,比如:我的調用如下: C:/>C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/InstallUtil.exe C:/FirstWindowsService/FirstWindowsService/bin/Debug/FirstWindowsService.exe 回車 (如圖) 8、現在,你可在控制面板-管理工具-服務下看到你的服務了(先刷新一下,即可看到)並且可以看到其執行效果。 注意:如果你修改了這個服務,但路徑沒有變化的話是不需要重新註冊服務的,只需要先暫停服務,重新生成exe,再啓動服務;如果路徑發生了變化,需要先卸載這個服務(使用InstallUtil.exe /u 命令,注意路徑),然後再重新註冊這個服務,

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章