系统服务的最简单实现

系统 1653 0

   下面我告诉你,只需三个文件,即可完成一个系统服务。

      1.新建一个类,命名为TestService,并继承于

System.ServiceProcess.ServiceBase。重启其中的OnStart方法和OnStop方法

      

 1   public   class  TestService:ServiceBase
 2       {
 3            protected   override   void  OnStart( string [] args)
 4           {
 5               NLogHelper.Trace( " OnStart " );
 6           }
 7  
 8            protected   override   void  OnStop()
 9           {
10               NLogHelper.Trace( " OnStop " );
11           }
12       }

     2.新建一个类,命名为TestServiceInstaller,并继承于System.Configuration.Install

     

 1       [RunInstaller( true )]
 2        public   class  TestServiceInstaller : Installer
 3       {
 4            ///   <summary>
 5            ///  安装一个进程
 6            ///   </summary>
 7            private  ServiceInstaller serviceInstaller;
 8            ///   <summary>
 9            ///  安装一个服务
10            ///   </summary>
11            private  ServiceProcessInstaller processInstaller;
12  
13            ///   <summary>
14            ///  Initializes a new instance of the  <see cref="TestServiceInstaller"/>  class.
15            ///   </summary>
16            public  TestServiceInstaller()
17           {
18                // 致命用户类型
19               processInstaller  =   new  ServiceProcessInstaller {Account  =  ServiceAccount.LocalSystem};
20               serviceInstaller  =   new  ServiceInstaller
21                                      {
22                                          StartType  =  ServiceStartMode.Manual, // 服务的启动类型:手动
23                                          ServiceName  =   " TestService " , // 服务的名称
24                                          Description  =   " 这是TestService的描述 " ,
25                                          DisplayName  =   " 这里是显示在系统服务中的名称 "
26                                      };
27  
28               Installers.Add(serviceInstaller);
29               Installers.Add(processInstaller);
30           }
31       }

      3.用一个控制台程序生成exe文件

     

 1        static   class  Program
 2       {
 3            ///   <summary>
 4            ///  应用程序的主入口点。
 5            ///   </summary>
 6            static   void  Main()
 7           {
 8               var servicesToRun  =   new  ServiceBase[]
 9                                                 {
10                                                      new  TestService()
11                                                 };
12               ServiceBase.Run(servicesToRun);
13           }
14       }

    接下来,编译,生成一个test.exe文件。

    然后通过vs的命令提示行,使用命令 installutil test.exe

嘿嘿,看一下,系统服务中已经多了一个名为:“这里是显示在系统服务中的名称”的服务了

系统服务的最简单实现


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论