C# Windows 服务 的简单程序的编写,安装 和 卸载

来源:互联网 发布:套号学历知乎 编辑:程序博客网 时间:2024/06/05 05:43

 

如图,我们需要先建立一个windows服务,给他命名,然后进入到项目设计页面,

 

 

然后我们可以看到解决方案,有一个默认的 Service1.cs ,这个是服务名,我们可以根据自己的需要去改,这里我把它改成了ServiceTest.cs

然后我们可以再 ServiceTest.cs里写下自己的逻辑代码,默认的是下面两个方法,我简单的写了个方法!

 

如下

 public partial class ServiceTest : ServiceBase
    {
        public ServiceTest()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            using (System.IO.StreamWriter rs = new System.IO.StreamWriter("d;\\log.txt",true))
            {
                rs.WriteLine(DateTime.Now.ToString("yy-mm-dd HH:mm:ss")+"Start.");
            }
        }

        protected override void OnStop()
        {
            using (System.IO.StreamWriter rs = new System.IO.StreamWriter("d;\\log.txt", true))
            {
                rs.WriteLine(DateTime.Now.ToString("yy-mm-dd HH:mm:ss") + "Stop.");
            }
        }
    }

 

  写完逻辑代码后,我们到项目的设计页面去,右键-->添加安装程序-->然后会出现下面的两个组件!在这里我们需要修改一下 这两个组件的 三个属性!

 

 

首先,我们可以去修改 serviceInstaller 的属性,右键---属性---如图

 1,先把ServiceName 改成 服务名(跟前面我们的ServiceTest.cs 文件时一个名字)

  2,改一下他的StartTYpe 改成 Automatic

 

          

 

然后我们需要去改另一个组件的属性了!右键---属性 --如下图

 

                 

  这个我们只需要改他的一个属性!如图照改即可!

  然后我们就可以生成程序了!生成以后我们可以到 bin--debug 多了下图的文件

然后就该安装windows 程序了! 安装的话,我们需要一段代码!

cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
InstallUtil.exe D:\练习\WindowsServiceTest\WindowsServiceTest\bin\Debug\WindowsServiceTest.exe  \\D:后面的是我们生成上图WindowsServiceTest.exe  的路径
net start ServiceTest   \\这个是我们的服务名

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

( 就是把这段代码考到.txt 文件中,改一下他的后缀变成 .bat 就可以双击鼠标左键直接执行了)

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

         

     等这个执行完后,我们就可以在我们的 程序服务 中看到我们刚才建立的 windows 服务了!如下图

                     

 

这样就 新建好了 一个 windows 服务了!

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

  cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
InstallUtil.exe/u D:\练习\WindowsServiceTest\WindowsServiceTest\bin\Debug\WindowsServiceTest.exe


这样就可以了!  为了方便,也可以把这段代码放到 bat 文件里直接执行!方法跟上面的一样!

由于是刚学这个东西,在这里我就讲这么多,更深的东西,大家还是网上找教程吧!

原创粉丝点击