【.net framework】WINDOWS服务和控制台程序简单介绍

背景: 假如现在有两个项目,分别是控制台程序和windows服务(创建项目的时候可以选择不同类型)
控制台:

csharp 复制代码
static async Task Main()
{
    while (true)
    {
        Console.WriteLine("运行中...");
        await Task.Delay(5000);
    }
}

windows服务:

csharp 复制代码
using Microsoft.Extensions.Hosting;

Host.CreateDefaultBuilder(args)
    .UseWindowsService()
    .ConfigureServices(services =>
    {
        services.AddHostedService<Worker>();
    })
    .Build()
    .Run();

public class Worker : BackgroundService
{
    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
    {
        while (!stoppingToken.IsCancellationRequested)
        {
            Console.WriteLine("服务后台运行中...");
            await Task.Delay(5000, stoppingToken);
        }
    }
}

控制台是需要自己手动启动的;windows服务在电脑开启就开始自启动运行(配置自动启动),遇到问题自动重启,因此windows服务开发完成之后需要安装和部署。

csharp 复制代码
# 编译后生成 MyWindowsService.exe
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

# 安装服务
installutil "C:\Services\MyWindowsService.exe"

# 启动服务
net start MyWindowsService

# 停止服务
net stop MyWindowsService

# 卸载服务
installutil /u "C:\Services\MyWindowsService.exe"

完结撒花~

相关推荐
lucky670736 分钟前
Windows 上彻底卸载 Node.js
windows·node.js
编程小白20261 小时前
从 C++ 基础到效率翻倍:Qt 开发环境搭建与Windows 神级快捷键指南
开发语言·c++·windows·qt·学习
凯子坚持 c3 小时前
CANN 性能剖析实战:从原始事件到交互式火焰图
windows·microsoft
开开心心就好3 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
獨枭3 小时前
PyCharm 跑通 SAM 全流程实战
windows
仙剑魔尊重楼4 小时前
音乐制作电子软件FL Studio2025.2.4.5242中文版新功能介绍
windows·音频·录屏·音乐·fl studio
PHP小志5 小时前
Windows 服务器怎么修改密码和用户名?账户被系统锁定如何解锁
windows
专注VB编程开发20年6 小时前
vb.net datatable新增数据时改用数组缓存
java·linux·windows
仙剑魔尊重楼6 小时前
专业音乐制作软件fl Studio 2025.2.4.5242中文版新功能
windows·音乐·fl studio
rjc_lihui7 小时前
Windows 运程共享linux系统的方法
windows