首页 > 系统相关 >使用.NET Core创建Windows服务

使用.NET Core创建Windows服务

时间:2024-06-18 11:59:08浏览次数:17  
标签:Core 服务 文件 Windows 使用 cs NET 日志

一、 使用VS创建

打开Visual Studio,创建新项目,找到Worker Service模板。

 二、项目结构说明

创建出来的项目,包含两个主要文件:

1)其中Program.cs文件是应用的启动“引导程序”;

2)另外一个文件是worker.cs文件,在这个文件中,可以编写自己的服务逻辑。

 三、将应用转换成Window服务

当前项目可在linux下完美运行,但是还不能以服务的方式在windows上安装运行。

1. 引入Microsoft.Extensions.Hosting.WindowsServices

为了将应用转换成Windows服务,我们需要使用如下命令引入一个包。

 

2.修改代码

需要修改Program.cs文件,添加UseWindowsService()方法的调用。

 四、发布

使用VS发布

 五、使用SC命令在Windows上安装服务

(SC的使用方法见上一篇)

 

 

六、具体测试

默认情况下,windows服务将把日志写入应用程序事件日志,我们可以使用事件查看器工具查看这些日志。另外,默认情况下,windows服务只会将严重级别为警告及以上的日志写入事件日志

所以,如果我们没看到相关的日志,我们可以在appsettings文件中添加如下配置:

 本机测试结果如下:

 每隔1S记录如下内容:

 正如我们Worker代码那边写的:

 

标签:Core,服务,文件,Windows,使用,cs,NET,日志
From: https://www.cnblogs.com/keeplearningandsharing/p/18254080

相关文章

  • Windows11[虚拟机] Kettle 通过SSH隧道 连接远程[Mac] Mysql数据库
    Kettle无法直接连接使用SSH通道的MySQL,需要通过SSH隧道(推荐),具体操作如下所示:一、搭建XshellSSH隧道转发1、点击“连接”借助Xshell7,首先创建会话mac(名字随便写),右键-->属性,在弹出窗口中填写名称(随便写),填写主机:SSH隧道的ip地 点击“添加”按钮出现如下,填写源主机:localh......
  • 记一次 .NET某机械臂上位系统 卡死分析
    一:背景1.讲故事前些天有位朋友找到我,说他们的程序会偶发性的卡死一段时间,然后又好了,让我帮忙看下怎么回事?窗体类的程序解决起来相对来说比较简单,让朋友用procdump自动抓一个卡死时的dump,拿到dump之后,上windbg说话。二:WinDbg分析1.主线程在做什么要想看主线程在做什么,很......
  • LiveCharts2:简单灵活交互式且功能强大的.NET图表库
    前言之前的文章中提到过ScottPlot、与oxyplot,这两个是比较常用的.NET图表库,今天介绍一款新的.NET图表库:LiveCharts2。LiveCharts2介绍LiveCharts2是一个现代化的数据可视化库,用于创建动态和交互式图表,支持.NET平台。它是LiveCharts的进化版,旨在提供更高性能、更灵活和更易......
  • ADO.NET 事务操作封装
    ///<summary>///事务处理///</summary>///<paramname="sqlList">sql语句数组</param>///<returns></returns>///<exceptioncref="Exception"></exception>publicstaticboolOpenTransation(List......
  • 网络调试利器:Chrome Network工具的详细指南
    前言作为测试工程师,熟练使用Chrome开发者工具中的Network工具可以极大地提升我们调试和分析Web应用的能力。Network工具用于监视网络活动,包括HTTP请求、响应、资源加载时间和数据传输量等。本文将详细介绍如何使用这个强大的工具来进行网络分析和调试。打开Network工具打开Ch......
  • 启动应用程序出现NetProj.exe找不到问题解决
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个NetProj.exe文件(挑选合适的版本文件)把它放......
  • Asp.net core依赖注入服务生存期踩坑记录
    Asp.netcore依赖注入服务生存期踩坑记录写在开头今天我本想实现组件全局共享数据(状态管理),保存工厂名,用户登录id,设备编码等字段,以便全局共享。但我在a组件设置的值到了b组件就不见了。遇到的问题,与依赖注入服务生存期有关,我们知道依赖注入服务一共有三种:AddScoped:作用域Add......
  • Windows ipconfig命令用法简单介绍
    windows的图形界面操作起来很舒服,但是有时候不熟悉的话又会比较难操作,因此通过一定的命令行可以帮助我们完成网络配置和故障排除,Windowsipconfig命令无疑是一个不错的工具。本次就来简单讲述一下ipconfig命令的各种用法和技巧,帮助你更好地管理和优化你的网络连接,以及应对电脑有......
  • ssh-key-deploy:一个在Windows上创建ssh密钥并且自动部署到Linux服务器上的小工具
    ssh-key-deploy简介使用Python编写的一个在Windows上创建ssh密钥并且自动部署到Linux服务器上的小工具。功能特点创建具有自定义名称和可选密码的SSH密钥。列出本地存储的所有SSH密钥。将SSH密钥安全地上传到远程服务器。使用直观的命令行界面进行操作,支持菜单导航。友好......
  • Windows 中的 csc 服务是指 "Client Side Caching",即客户端缓存服务。这个服务主要用
    Windows中的csc服务是指"ClientSideCaching",即客户端缓存服务。这个服务主要用于离线文件和文件夹的同步,特别是在使用“离线文件”功能时。下面是关于csc服务的一些介绍:功能:csc服务允许用户在离线状态下访问网络共享文件和文件夹。当用户连接到网络时,csc服务会自动将......