首页 > 代码库 > C# 创建和安装Windows服务程序

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