zoukankan      html  css  js  c++  java
  • Topshelf 搭建 Windows 服务

    Topshelf 是一个用来部署基于.NET Framework 开发的服务的框架。简化服务创建于部署过程,并且支持控制台应用程序部署为服务。本文基于 .net core 控制台应用程序部署为服务(.net Framework 可用)。

    第一步:创建名为 TopshelfDemo 的控制台应用程序。

     第二步:通过 Nuget 安装 Topshelf 包。

     第三步:Toshelf 配置,代码并不多下面都有注释。

    using System;
    using Topshelf;
    
    namespace TopshelfDemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                try
                {  
                    // 配置和运行宿主服务
                    HostFactory.Run(x =>                                 //1
                    {
                        x.Service<Service>(s =>                        //2
                        {
                            // 指定服务类型。这里设置为 Service
                            s.ConstructUsing(name => new Service());     //3
    
                            // 当服务启动后执行什么
                            s.WhenStarted(tc => tc.Start());              //4
    
                            // 当服务停止后执行什么
                            s.WhenStopped(tc => tc.Stop());               //5
                        });
    
                        // 服务用本地系统账号来运行
                        x.RunAsLocalSystem();                            //6
    
                        // 服务描述信息
                        x.SetDescription("我的项目服务");        //7
                        // 服务显示名称
                        x.SetDisplayName("MyProjectServiceShowName");                       //8
                        // 服务名称
                        x.SetServiceName("MyProjectService");                       //9 
                    }); 
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }
        }
    
        public class Service
        { 
            public void Start() {
                //To do something
            }
            public void Stop() {
                //To do something
            }
        }
    }

    第四步:安装服务

      确保项目正常生成,然后通过管理员权限打开 cmd 命令窗口,找到项目所在的 Debug 目录,输入命令:TopshelfDemo.exe install。

      如果是使用 .net core 的小伙伴你会发现 Debug下压根没有 TopshelfDemo.exe ,这不是扯淡呢么,别急往下看。

      由于 .net core 依赖 runtimes 所以我们需要发布以下程序,并且选择独立项目就ok啦。

    这时你在布后的路径下就可以找到 TopshelfDemo.exe 啦。

    这时服务就安装完毕了,我们可以通过 Windows 服务中查看。

     删除服务命令:TopshelfDemo.exe uninstall 

    也可以通过 sc delete MyProjectService 进行删除

    好了,到这里就完事儿了,哪里有问题希望大家猛烈拍砖以便修正~

      链接: https://pan.baidu.com/s/1bHIQgO6GFahXOtgI3dlNTA

      提取码: thki

    转:https://www.cnblogs.com/swjian/p/11498808.html

  • 相关阅读:
    CF 142B Tprimes
    CF 231A Team
    poj 2001 Shortest Prefixes ——字典树入门
    hdu 1039 Easier Done Than Said?
    poj 2528 Mayor's posters
    hdu 1061 Rightmost Digit
    poj 2503 Babelfish
    CF271 A. Beautiful Year
    poj 2752
    CF271 B. Prime Matrix
  • 原文地址:https://www.cnblogs.com/superfeeling/p/15087911.html
Copyright © 2011-2022 走看看