WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
随笔 - 1079, 文章 - 1, 评论 - 75, 阅读 - 174万
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

使用Topshelf创建Windows服务

Posted on   WebEnh  阅读(210)  评论(0编辑  收藏  举报

Topshelf是一个开源的跨平台的服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务. 官方网站:http://topshelf-project.com

下面是将普通控制台创建成Windows服务:

1.引用程序集TopShelf.dll

  通过NuGet安装或者官网下载

2.创建ApiMain类

 

复制代码
复制代码
 public class APIMain
    {
        public APIMain()
        {
            //初始化方法,可以不要
        }
        public void Start()
        {
            //服务启动,执行的内容
        }

        public void Stop()
        {
            //服务停止,执行的内容
        }

    }
复制代码
复制代码

 

3.改写Program.cs

复制代码
复制代码
 public class Program
    {
        static void Main(string[] args)
        {
            HostFactory.Run(x =>
            {
                x.Service<APIMain>(s =>
                    {
                        s.ConstructUsing(name => new APIMain());
                        s.WhenStarted(tc => tc.Start()); //启动服务执行方法
                        s.WhenStopped(tc => tc.Stop()); //停止服务前执行方法
                    });
                x.RunAsLocalSystem();
                x.SetDescription("数据接口服务"); //服务描述名称
                x.SetDisplayName("数据接口服务"); //服务显示名称
                x.SetServiceName("ElegantWebApiServer");
            });
        }
    }
复制代码
复制代码

4.cmd命令安装或卸载服务

 

安装:xxx.exe  install    

 

卸载:xxx.exe  uninstall 

 

 

 

 
 
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

了解更多