使用.Net Core 2.2创建windows服务

我的环境

  • win 10 home
  • Visual Studio 2019 v16.1.3
  • 安装有.net core 2.2

创建项目

编辑项目文件

在 PropertyGroup 配置节 加入属性 <RuntimeIdentifier>win-x64</RuntimeIdentifier>

保存后,重新生成项目

在项目文件夹下,会有文件夹 bin\Debug\netcoreapp2.2\win-x64,里面包含了exe文件。

测试服务类的编写

安装nuget包

Install-Package System.ServiceProcess.ServiceController -Version 4.5.0

修改启动类 Programe.cs

using System;
using System.IO;
using System.ServiceProcess; namespace TestService
{
class Program
{
static void Main(string[] args)
{
using (var service = new TestSevice())
{
ServiceBase.Run(service);
}
}
} internal class TestSevice : ServiceBase
{
public TestSevice()
{
ServiceName = "TestService";
} protected override void OnStart(string[] args)
{
string filename = CheckFileExists();
File.AppendAllText(filename, $"{DateTime.Now} started.{Environment.NewLine}");
} protected override void OnStop()
{
string filename = CheckFileExists();
File.AppendAllText(filename, $"{DateTime.Now} stopped.{Environment.NewLine}");
} private static string CheckFileExists()
{
string filename = System.AppDomain.CurrentDomain.BaseDirectory + @"\MyService.txt";
if (!File.Exists(filename))
{
File.Create(filename);
} return filename;
} }
}

服务安装、启动、卸载

安装

sc create testservice binpath=D:\source\repos\TestConsoleService\TestService\bin\Debug\netcoreapp2.2\win-x64\TestService.exe

卸载

sc delete testservice

启动

不能通过命令行启动服务

sc start testservice

只能去服务管理器使用鼠标启动服务,具体原因暂未研究

反复启动停止,然后去exe所在目录下查看MyService.txt的内容,确认服务的启动。

参考文档

使用.Net Core 2.2创建windows服务的更多相关文章

  1. 使用.NET Core中创建Windows服务(一) - 使用官方推荐方式

    原文:Creating Windows Services In .NET Core – Part 1 – The "Microsoft" Way 作者:Dotnet Core Tu ...

  2. 使用.NET Core创建Windows服务(二) - 使用Topshelf方式

    原文:Creating Windows Services In .NET Core – Part 2 – The "Topshelf" Way 作者:Dotnet Core Tut ...

  3. 使用.NET Core创建Windows服务 - 使用.NET Core工作器方式

    原文:Creating Windows Services In .NET Core – Part 3 – The ".NET Core Worker" Way 作者:Dotnet ...

  4. .net core+topshelf+quartz创建windows定时任务服务

    .net core+topshelf+quartz创建windows定时任务服务 准备工作 创建.net core 控制台应用程序,这里不做过多介绍 添加TopShelf包:TopShelf: 添加Q ...

  5. .NET Core 创建Windows服务

    .NET Core 创建Windows服务 作者:高堂 原文地址:https://www.cnblogs.com/gaotang/p/10850564.html 写在前面 使用 TopShelf+Au ...

  6. 使用.NET Core创建Windows服务(一) - 使用官方推荐方式

    原文:使用.NET Core创建Windows服务(一) - 使用官方推荐方式 原文:Creating Windows Services In .NET Core – Part 1 – The &qu ...

  7. C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案

    本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...

  8. 用C#创建Windows服务(Windows Services)

    用C#创建Windows服务(Windows Services) 学习:  第一步:创建服务框架 创建一个新的 Windows 服务项目,可以从Visual C# 工程中选取 Windows 服务(W ...

  9. 玩转Windows服务系列——创建Windows服务

    创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Windows服务项目. 生成的解决方案包含两个项目:Servi ...

随机推荐

  1. python操作MySQL数据库的三个模块

    python使用MySQL主要有两个模块,pymysql(MySQLdb)和SQLAchemy. pymysql(MySQLdb)为原生模块,直接执行sql语句,其中pymysql模块支持python ...

  2. 解决阿里云轻量级服务器mysql无法用数据库操作软件连接

    第一步:去阿里云购买一台轻量应用服务器Lamp然后登录到控制台点击应用详情 点击后你可以看到一些服务器的数据 首先是访问服务器的首页地址,默认会放一个html文件在网站根目录下(即/home/www/ ...

  3. Vue开发工具VS Code与调试

    vscode安装 进入vscode官网(https://code.visualstudio.com/Download)vscode插件安装进入vscode官网插件商店(https://marketpl ...

  4. flask蓝图blueprint是什么

    蓝图 blueprint 简单的说,就是帮助我们对flask程序进行目录结构的划分:django项目创建时,是自动生成项目目录,而在flask这里,需要我们自己来规划,这就需要blueprint来将整 ...

  5. windows7-jdk配置

    这里主要讲这么配置环境变量 1.下载jdk安装程序,一直下一步就行了,安装完成 2.添加环境变量 JAVA_HOME 如:C:\Program Files\Java\jdk1.7.0_80 CLASS ...

  6. sws office-强大小巧的开源office

    sws office是一款由国际软件分享组织于2019年刚刚开发完成的一个开源office,目的是为了响应CR2019的号召,开发一个体积只有2.2MB,占用内存小,运行速度极快的office,它支持 ...

  7. 从物联网防火墙himqtt源码谈哈希和红黑树的应用场景区别

    从物联网防火墙himqtt源码谈哈希和红黑树的应用场景区别 himqtt是首款完整源码的高性能MQTT物联网防火墙 - MQTT Application FireWall,C语言编写,很多数据结构适合 ...

  8. 【Qt开发】关于QWSServer

    QWS Server QT Embeded应用没有来严格的区分server和client进程,如果一个QT进程的启动参数中有-qws,那么这个进程就具有server管理功能,被称为QWS server ...

  9. 基于mxgraph.js开发的流程图组件

    1.fabric.js 在决定使用mxgraph.js开发流程图之前,尝试过用fabric.js来开发,结果发现并没有想象中的那么简单,而且用户体验非常差,下面是体验地址:workFlow直到遇到一个 ...

  10. windows上OpenSSH服务安装及启动

    一.windows安装OpenSSH 1,下载openSSH windows版 GitHub下载链接 我安装的是64位版本 OpenSSH-Win64.zip 2,解压到C:\Program File ...