在.NET環境寫編寫和註冊Windws Service - 中國WEB開發者網絡 (http://www.webasp.net) -- 技術教程 (http://www.webasp.net/article/) --- 在.NET環境寫編寫和註冊Windws Service (http://www.webasp.net/article/16/15488.htm) |
| -- 作者:未知 -- 發佈日期: 2004-12-13 |
| /*====================================================================
雖然簡單,但是我們很少寫基於這樣的應用,我偶爾看到這篇文章,就順手摘錄下來了 通過.NET平台編寫和發佈簡單的Windows Service是一件很方便的事情. 新建一個(VB.NET/C#)項目,選擇Windows Service應用..然後在OnStart類裡就可以添加代碼了. 如果想實現定時運行,活實時監聽的功能,可以用.NET 提供的TIMER類. 以下是代碼片段. =====================================================================*/ private void theTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { if (!ExCondition()) { return; } try { theTimer.Enabled = false; MyTransaction(); } catch(Exception es) { WriteLog(es.Message); } theTimer.Enabled = true; } //檢測執行條件 private bool ExCondition() { DateTime dtNow = DateTime.Now; if(this.currentmode.Equals("auto")) { string[] frev = this.freqvalue.Split(''-''); switch( this.freq) { case "2"://2-每小時 if( (dtNow.Minute == 59)&(dtNow.Second< 30)) { return true; } break; case "4"://4-每天, if((dtNow.Hour == int.Parse(frev[1]))&(dtNow.Minute == int.Parse(frev[2]))&(dtNow.Second<30)) { return true; } break; case "8"://8-每週, int we = int.Parse(frev[0].Substring(1,1)); if((dtNow.DayOfWeek.ToString().Equals(Week[we]))&(dtNow.Hour == int.Parse(frev[1]))&(dtNow.Minute == int.Parse(frev[2]))&(dtNow.Second<30)) { return true; } break; case "16"://16-每月, int mm = int.Parse(frev[0].Substring(1,frev[0].Length-1)); if((dtNow.Day == mm)&(dtNow.Hour == int.Parse(frev[1]))&(dtNow.Minute == int.Parse(frev[2]))&(dtNow.Second<30)) { return true; } break; default://無觸發 return true; break; } } else { switch(this.startpoint) { case "0": return true; break; default: string[] st = startpoint.Split(''-''); if((dtNow.Hour == int.Parse(st[0]))&(dtNow.Minute ==int.Parse(st[1]))&(dtNow.Second<30)) { return true; } break; } } return false; } 註冊你的Windows Service程序. 用InstallUtil IASserver.exe (這個文件默認在C:\WINNT\Microsoft.NET\Framework\v1.1.4322下) InstallUtil IASserver.exe InstallUtil IASserver.exe /u (卸載) |
| webasp.net |