zoukankan      html  css  js  c++  java
  • C#创建Windows服务

      用C#做Windows服务时,一般都是用在定时处理某些事情的情况下。

      比如以下情况:

          1、每天定点执行一次。比如:每天晚上12点对当天的订单数据统计报表。

          2、每隔一定时间不间段执行。比如:每隔1小时发布系统消息。

          3、自动处理单订。比如:有单订产生,立即处理。(当然,可能要有一定延时。时间越精确,当然数据库的扫描压力就越大)

          实现思路1:计时器(设置Interval参数:默认为毫秒,1小时=60*60*1000)

          实现思路2:计时器启动执行一次+While(true)+Thread.Sleep(时间);

          在网上有人说第二种方法效果要好,我也没去测试。

      下面我们看具体步骤:

      1、创建服务。(此处该省的要省)

      上个图:

      

      

      在这,所有的命名都采用默认的。

      2、在我们的服务中编写代码:打开Services1.cs。

      模式1代码:

    View Code
        partial class Service1 : ServiceBase
        {
            public Service1()
            {
                InitializeComponent();
            }
    
            System.Timers.Timer timer1;  //计时器
    
            //这种模式:表示服务在每秒中处理1次业务逻辑
    
            protected override void OnStart(string[] args)
            {
                // TODO: 在此处添加代码以启动服务。
                timer1 = new System.Timers.Timer();
                timer1.Interval = 1000;  //设置计时器事件间隔执行时间
                timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Elapsed);
                timer1.Enabled = true;
            }
    
            private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
            {
                //要处理的业务逻辑
                
            }
    
            protected override void OnStop()
            {
                // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
                this.timer1.Enabled = false; 
            }
        }

      3、添加并配置安装服务

      在Services1.cs的设置模式下“添加安装程序”。系统会自动创建两个组件:serviceProcessInstaller1和serviceInstaller1

      

      

      

      下面介绍下这两个组件的基本配置:我比较喜欢贴图

      serviceProcessInstaller1:

      

      serviceInstaller1:

      

    4、生成、部署服务。

      在.Net Framework的命令窗口: installutil D:\WindowsService1.exe 即可完成安装服务(注绝对路径)

        在.Net Framework的命令窗口: installutil /uninstall D:\WindowsService1.exe 即可删除服务(注绝对路径)

      

      

      

      哈哈,搞定,安装完成,现在去Windows服务里有没有成功。下面就是见证服务的时刻:

      

         删除服务我就不演示了,因为我相信你懂的。

      由于安装过程比较复杂,可以写一个批处理,只要把服务文件的路径写上去就行。

      

    本篇只为介绍大家创建Windows服务的基本步骤。谢谢... 须要源码的人可以@我。

  • 相关阅读:
    一步步搭建自己的web服务器
    http协议知识整理
    数据库系统原理-第一章 数据库系统基本概念
    程序设计入门-C语言基础知识-翁恺-第七周:指针与字符串-详细笔记(七)
    程序设计入门-C语言基础知识-翁恺-第六周:数组-详细笔记(六)
    程序设计入门-C语言基础知识-翁恺-第五周:函数-详细笔记(五)
    程序设计入门-C语言基础知识-翁恺-期中测试
    程序设计入门-C语言基础知识-翁恺-第四周:循环控制-详细笔记(四)
    程序设计入门-C语言基础知识-翁恺-第三周:循环-详细笔记(三)
    程序设计入门-C语言基础知识-翁恺-第二周:简单的计算程序-详细笔记(二)
  • 原文地址:https://www.cnblogs.com/xdpxyxy/p/2804804.html
Copyright © 2011-2022 走看看