.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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现