C# .NET 0命令行安装Windows服务程序

设计原则:万物皆对象git

背景:在个人项目中,即须要与硬件经过Socket链接通信,又须要给App提供Wcf服务操做接口,虽然都完成了,可是倒是一个控制台(虽然我很喜欢控制台,由于它简单易用),把它放到服务器运行,总有一个黑乎乎的窗口,总感受不雅(原谅个人强迫症)。因而各类百度谷歌如何建立运行WIndows服务程序,就像SqlServer数据那样在后台默默运行奉献就能够了。github

可是,不少都是那么的麻烦,须要批处理什么的,而我这我的向来喜欢简洁,因而便设计了这么个Windows服务辅助类,没错,就是0命令服务器

正文:函数

一、类库源码我就不放了,最后都放到GitHub上spa

二、使用方法:设计

using Coldairarrow.Util.WindowsService;
using System;

namespace WindowsServiceTest
{
    class Program
    {
        public static void Main(string[] argc)
        {
            //建立服务容器,第一个参数为指定服务名,第二个参数为主函数入口的参数argc
            WindowsServiceContainer serviceContainer = new WindowsServiceContainer("A_Test_Service", argc);

            //服务启动时执行的事件,便可以看作控制台的主函数Main便可
            serviceContainer.HandleOnStart = new Action<string[]>(args =>
            {
                //能够在这里添加你须要服务干的事情,好比建立Socket通信,Wcf服务,balabala.........
                //让它在后台默默地工做把~~~~~~~~~~
            });

            //处理日志的事件
            serviceContainer.HandleLog = new Action<string>(log =>
            {
                Console.WriteLine(log);
            });

            //处理异常的事件
            serviceContainer.HandleException = new Action<Exception>(ex =>
            {
                Console.WriteLine(ex.Message);
            });

            //开始运行服务
            serviceContainer.Start();
        }
    }
}

直接运行控制台便可:日志

选择1进行安装服务:code

没错,你能够看见服务已经成功运行了!!!,是否是很假单?对象

 

选择2进行服务卸载:blog

 

总结:

经过对服务操做一系列的封装,使将控制台程序变成服务程序很是的简单,不须要任何的批处理命令,只须要简单的几行代码便可,感受很爽的请点赞!

老规矩,GitHub地址:

https://github.com/Coldairarrow/WindowsServiceDemo

相关文章
相关标签/搜索