C# 写windows服务

http://www.cnblogs.com/lidaohang/archive/2011/01/23/1942536.html

 

因为需要每天定时更新数据,所以决定写成一个windos 服务。

1。在VS2008创建windows service工程

文件---新建---项目----windows服务,名称AdioService

2。结构如下图所示,双击service1.cs,在onstart中写具体代码,注意如果代码执行需要很长时间,则需要将方法放在子线程中,否则windows服务会启动不起来。

3。定时器Quartz的使用

 

 

 protected override void OnStart(string[] args)
        {
             Thread th = new Thread(delegate()

 

            {

                log4net.ILog logger = log4net.LogManager.GetLogger(typeof(Program));

                logger.Info("开始进入服务");

                while (true)

                {

                    try

                    {

                        ManInfo.Start();

                    }

                    catch (Exception ex) { logger.Error(ex); }

                    //

                }

            });

            th.Start();

          }

 

 

4。添加安装程序

在AdioService.cs[设计]右键---添加安装程序,会出现

注意:account选择localhost  ;StartType选择Automatic(开机自动执行)

5。安装服务

开始-运行-cmd
cd C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727

找到debug下的.exe,复制路径(例如 C:/Documents and Settings/Administrator/桌面/Audiomonitor/d1/AudioService/bin/Debug/AudioService.exe")

安装命令

InstallUtil  "C:/Documents and Settings/Administrator/桌面/Audiomonitor/d/AudioService/bin/Debug/AudioService.exe"

卸载命令

InstallUtil  /u "C:/Documents and Settings/Administrator/桌面/Audiomonitor/d1/AudioService/bin/Debug/AudioService.exe"

在控制面板---管理工具-----服务----右键----启动服务

6。异常情况

如果不能正常启动服务,说明服务有错误。可以利用“日志查看器”查看错误信息。(调试比较麻烦)。

注意每次对服务改动的话,都必须重新安装。

7。想要服务在遇到异常停止后自动重启

找到  服务-----右键----属性---恢复-----重新启动服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值