介绍ServiceSelf项目

科技资讯 投稿 6000 0 评论

介绍ServiceSelf项目

ServiceSelf

我在开源的一些工具里实现放了自安装和卸载服务的功能的代码,本着够用就好的习惯,并没有把这个功能独立为项目,所以也没有对这个功能做特别好的设计。现在我创建了一个新的ServiceSelf开源项目,把自安装和卸载服务的功能在此重新设计,其功能是为.NET 泛型主机的应用程序提供自安装为服务进程的能力,支持windows和linux平台。

1 nuget

<PackageReference Include="ServiceSelf" Version="1.0.0" />

2 使用示例

static void Main(string[] args
{
    // 创建Host之前调用Service.UseServiceSelf(args
    if (Service.UseServiceSelf(args
    {
        var builder = WebApplication.CreateBuilder(args;

        // 为Host配置UseServiceSelf(
        builder.Host.UseServiceSelf(;

        var app = builder.Build(;
        app.MapGet("/", context => context.Response.WriteAsync("ServiceSelf";
        app.Run(;
    }
}
static void Main(string[] args
{
    // 创建Host之前调用Service.UseServiceSelf(args
    if (Service.UseServiceSelf(args
    {
        var host = Host.CreateDefaultBuilder(args
            // 为Host配置UseServiceSelf(
            .UseServiceSelf(
            .ConfigureServices(service =>
            {
                service.AddHostedService<AppHostedService>(;
            }
            .Build(;

        host.Run(;
    }
}

3 服务控制

当yourapp集成ServiceSelf之后,在管理员或root下使用如下命令控制yourapp服务

yourapp.exe start // 安装并启动服务
yourapp.exe stop // 停止并删除服务

linux平台

sudo ./yourapp start // 安装并启动服务
sudo ./yourapp stop // 停止并删除服务

编程笔记 » 介绍ServiceSelf项目

赞同 (34) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽