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

          服务是一个运行在后台的程序,他没有界面,不能交互,只能孤独的独自运行。

      在开始->运行->输入services.msc可以打开服务管理器,这里可以查看和管理服务  

      很多时候都会用到服务,因为服务简化了我们的操作,省去了很多人力,最近公司需要同步数据,我也自己写了个服务,这里把服务的主要程序贴出来,给大家参考,也方便以后自己查阅。

    C#服务程序
    protected override void OnStart(string[] args)
    {
    //启动timer
    //period = ServiceSettings.Default.ServiceTimerIntervalSecond * 1000;
    // period = Convert.toint * period;//
    serviceTimer = new Timer(new TimerCallback(TimerCallback), state, 0, period);


    }

    protected override void OnStop()
    {
    //停止计时器
    EndThing();
    serviceTimer.Change(Timeout.Infinite, Timeout.Infinite);
    }

    protected override void OnContinue()
    {
    //重新开始计时
    serviceTimer.Change(0, period);

    }

    protected override void OnPause()
    {
    //停止计时器
    EndThing();
    serviceTimer.Change(Timeout.Infinite, Timeout.Infinite);

    }

    public void TimerCallback(object obj)
    {
    //隔一段时间调用一次
    DoThing();
    }

      serviceTimer = new Timer(new TimerCallback(TimerCallback), state, 0, period);
    此处,state用于保存状态,如果不需要,保存状态,可以传入null。第三个参数0表示立即调用TimerCallback方法,如果不需要立即调用,可以传入period。period是计时器的计时间隔,单位为毫秒。

      服务写好后,还得配置,以方便安装

      因此,首先转到设计视图中,并选择属性窗口(可以按下F4)。

      把CanStop和CanShutdown设置为true。在安装之前,我们必须要安装一个安装程序。

      右击设计视图窗口,然后选择"Add Installer"。然后,它将显示ProjectInstaller.cs。在这个文件中,serviceInstaller1和serviceProcessInstaller1都存在。转到serviceProcessInstaller1属性处:

      · 把Account设置为LocalSystem。

      · 然后,转到serviceInstaller1属性处。

      · 把DisplayName和ServiceName设置为Monitoring。

      · 设置启动类型(StartType)为automatic。

          服务写好了,还需要注册,不然不会运行,方法如下:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil  Path

      方法卸载的方法:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil -u Path

      本人长期代人写DEMO,功能点DEMO、入门教程等,如果有需要的可以联系我

  • 相关阅读:
    [Abp vNext微服务实践]
    [Abp vNext微服务实践]
    开源项目
    ORA-28002: x天之后口令将过期
    Linux压缩和解压
    cortex-m3内核的芯片截图,以及内核学习
    lpc1768的时钟树梳理和小结
    lp17xx的iap的向量表区别
    关于core_cm3.c和core_cm3.h,Core_cmFunc.h 和 Core_cmInstr.h的理解
    Python从json中提取数据
  • 原文地址:https://www.cnblogs.com/_fyz/p/1864378.html
Copyright © 2011-2022 走看看