C# 创建和安装Windows服务程序
1、新建一个windows服务程序。
2、点击这个服务类,从工具箱中添加一个Timer控件,右键这个Timer控件 命名为 timerOrderDeductionDetailJob,Enable设为True。
3、右键这个服务类,在OnStart方法中设置Timer控件的启动间隔时间。
protected override void OnStart(string[] args) { // TODO: 在此处添加代码以启动服务。 this.timerOrderDeductionDetailJob.Interval = 1000; }
4、双击Timer时间控件,注册一个事件
private void timerOrderDeductionDetailService_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { Working();//执行的方法 }
5、执行的方法
private void Working() { new ExceptionHelper().WriteLog("Start OrderDeductionDetailJob Job " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), @"OrderDeductionDetailJob" ); this.timerOrderDeductionDetailJob.Enabled = false; try { OrderDeductionDetailJob Order = new OrderDeductionDetailJob(); Order.Execute(); } catch (Exception ex) { StringBuilder sbError = new StringBuilder(); sbError.Append("错误时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + Environment.NewLine); sbError.Append("错误文件:" + ex.Source + Environment.NewLine); sbError.Append("错误信息:" + ex.Message + Environment.NewLine); sbError.Append("引发错误的方法:" + ex.TargetSite + Environment.NewLine); sbError.Append("引发错误的跟踪:" + ex.StackTrace + Environment.NewLine); new ExceptionHelper().WriteLog(sbError.ToString(), @"OrderDeductionDetailJob"); } this.timerOrderDeductionDetailJob.Enabled = true; new ExceptionHelper().WriteLog("End OrderDeductionDetailJob Job " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), @"OrderDeductionDetailJob"); new ExceptionHelper().WriteLog("* * * * * * * * * * * * * * * * * * * * * * * * *" + Environment.NewLine + Environment.NewLine + Environment.N ewLine, @"OrderDeductionDetailJob"); }
6、添加服务的安装程序,点击这个服务类,右键添加安装程序。
7、点击这个安装程序类。
8、改变安装服务名称,StartType改为Automatic。
9、serviceProcessInstaller1 右键属性 Account改为LocalSystem。
10、编译这个服务,安装。安装方法分为两种:
(1)、windows+R (运行命令提示符),输入cmd
运行命令: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe (空格) window项目的bin\Release下.exe文件地址
例如:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe (空 格) F:\chenfeilong\Project\AidaijiaWin\ADJ.Job.OrderDeductionDetailService\bin\Release\ADJ.Job.OrderDeductionDetailService.exe
(2)、sc create 服务名称 binPath=(空格) “windows服务项目的bin\Release下.exe文件地址” start=auto