C# .NET 0命令行安裝Windows服務程序


設計原則:萬物皆對象

背景:在我的項目中,即需要與硬件通過Socket連接通訊,又需要給App提供Wcf服務操作接口,雖然都完成了,但是卻是一個控制台(雖然我很喜歡控制台,因為它簡單易用),把它放到服務器運行,總有一個黑乎乎的窗口,總感覺不雅(原諒我的強迫症)。於是各種百度谷歌如何創建運行WIndows服務程序,就像SqlServer數據那樣在后台默默運行奉獻就可以了。

但是,很多都是那么的麻煩,需要批處理什么的,而我這個人向來喜歡簡潔,於是便設計了這么個Windows服務輔助類,沒錯,就是0命令

正文:

1、類庫源碼我就不放了,最后都放到GitHub上

2、使用方法:

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進行安裝服務:

沒錯,你可以看見服務已經成功運行了!!!,是不是很假單?

 

選擇2進行服務卸載:

 

總結:

通過對服務操作一系列的封裝,使將控制台程序變成服務程序非常的簡單,不需要任何的批處理命令,只需要簡單的幾行代碼即可,感覺很爽的請點贊!

老規矩,GitHub地址:

https://github.com/Coldairarrow/WindowsServiceDemo


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM