mafaming

博客园 首页 新随笔 联系 订阅 管理

一、创建一个Windows Service
1)创建Windows Service项目

 

2)对Service重命名
将Service1重命名为你服务名称,这里我们命名为ServiceTest。

二、创建服务安装程序
1)添加安装程序

之后我们可以看到上图,自动为我们创建了ProjectInstaller.cs以及2个安装的组件。
2)修改安装服务名
右键serviceInsraller1,选择属性,将ServiceName的值改为ServiceTest。

 

3)修改安装权限
右键serviceProcessInsraller1,选择属性,将Account的值改为LocalSystem。

三、写入服务代码
1)打开ServiceTest代码
右键ServiceTest,选择查看代码。
2)写入Service逻辑
添加如下代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.Data.SqlClient;

namespace WindowsService
{
    public partial class Service1 : ServiceBase
    {
        System.Timers.Timer timer1 = new System.Timers.Timer();

        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true))
            {
                sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "Start.");
            }
            
            timer1.Interval = 1000;
            timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);
            timer1.Enabled = true;
            timer1.Start();
            
        }

        protected override void OnStop()
        {
            this.timer1.Stop();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true))
            {
                sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "time.");
            }

            SqlConnection conn = new SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=mfm123");
            SqlCommand comm = new SqlCommand("insert into tb1(a,b)values ('111',11)", conn);
            conn.Open();
            comm.ExecuteNonQuery();
            conn.Close();
        }
    }
}

 

四、安装

cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 
InstallUtil.exe  路径\WindowsServiceTest.exe 
net start ServiceTest   \\这个是我们的服务名

为了方便,我们可以把这段代码放到 .bat 文件里直接执行就可以了!

执行就安装和启动了我们刚才建立的 windows 服务了!

 

五、卸载

如果我们想要删除,卸载这个服务的话,我们可以执行这段代码

  cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 
InstallUtil.exe /u 路径\WindowsServiceTest.exe

 

六、调试Windows Service
1)安装并运行服务
2)附加进程

3)在代码中加入断点进行调试

 

posted on 2014-04-12 17:23  方块  阅读(312)  评论(0编辑  收藏  举报