.net core 创建系统服务项目并部署运行

1、新建角色服务

 2、nuget引用服务

Microsoft.Extensions.Hosting.WindowsServices,这个很重要不然会提示服务未响应

 三、启动页修改代码引用UseWindowsService

复制代码
namespace WService
{
    public class Program
    {
        public static void Main(string[] args)
        {
            IHost host = Host.CreateDefaultBuilder(args)
                .UseWindowsService()
               .ConfigureServices(services =>
               {
                   services.AddHostedService<Worker>();
               })
               .Build();

            host.Run();
        }
    }
}
复制代码

四、编写worker代码

复制代码
using TouchSocket.Core;
using TouchSocket.Http;
using TouchSocket.Rpc;
using TouchSocket.Sockets;
using TouchSocket.WebApi;
using TouchSocket.WebApi.Swagger;
using Model;
using WService.APIServer;
using WService.Tools;
using WService.Plugin;
using LogLevel = Microsoft.Extensions.Logging.LogLevel;

namespace WService
{
    public class Worker : BackgroundService
    {
        private readonly ILogger<Worker> _logger;

        public Worker(ILogger<Worker> logger)
        {
            _logger = logger;
        }

        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {
                if (_logger.IsEnabled(LogLevel.Information))
                {
                    _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
                }
                await Task.Delay(1000, stoppingToken);
            }
        }

        public override async Task StartAsync(CancellationToken cancellationToken)
        {
           //主代码
        }

        public override async Task StopAsync(CancellationToken cancellationToken)
        {
            Console.WriteLine("Service is stopping.");
            await base.StopAsync(cancellationToken);
        }
    }
}
复制代码

五、发布和运行

会生成exe文件

复制代码
管理员方式运行CMD
创建服务
sc create WService binpath= exe文件路径 type= own start= auto displayname= WService

开始服务
net start WService

停止服务
net stop WService

卸载服务
sc delete WService
复制代码

 

posted @   柏泊  阅读(93)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示