dotnet core实现windows service

使用.NET Core创建部署Windows服务 创建 首先你要确保你已经安装了.NET Core 3.0或以上版本。 使用命令行创建:dotnet new worker 使用Visual Studio创建 中文版: 英文版: 创建的新项目包含两个文件。其中Program.cs文件是应用的启动程序。另外一个文件是Worker.cs文件,你可以在这个文件编写你的业务代码。 这看起来应该... 阅读详情

使用Dotnet core编写Window Service程序实践

近年来,需要编写windows service的情况越来越少,但偶尔也会用到,比如计算机定期执行数据整理的任务等等

1、创建工程

我的习惯是建立三个工程,一个Windows Service主程序,一个Console主程序,一个业务逻辑库

使用dotnet core命令创建工程

首先,可以使用dotnet new --list命令查看可以创建的工程类型

dotnet new console -n test-app    // 创建Console应用,名称为“test-app”(可选)
dotnet new worker -n xxxxService  // 创建Worker Service应用,用于创建Windows服务
dotnet new classlib -n xxxxBll    // 创建类库,用于编写业务逻辑代码(可选)
dotnet new sln -n xxxx            // 创建解决方案

使用VS、VSCode或Rider等IDE打开解决方案,把项目添加到solution中,建立引用关系等操作。

注:Worker Service程序相对于以往的Windows Service开发,可以直接进行调试,小的工程也可以直接创建Worker,而无需创建test-app调试用工程与BLL类库。

2、业务逻辑编写与调试

设置test-app为启动项,可以方便的进行开发和调试,把业务逻辑代码都写到BLL中。

3、开发Windows Service

  3.1、把Worker Service改造成Windows Service

1、在项目中添加nuget包:Microsoft.Extensions.Hosting.WindowsServices,选好对应版本。

      例如,我的Microsoft.Extensions.Hosting版本是3.1.3,于是选择Microsoft.Extensions.Hosting.WindowsServices的版本为3.1.3

2、在program.cs内部,将UseWindowsService()添加到CreateHostBuilder

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

3、把BLL与Worker Service程序做好关联即可发布。

 

 

 

 

DotNetCore.WindowsService:一种简单的库,允许一个人将点网核心应用程序托管为Windows服务。 完善的微服务架构解决方案 DotNetCore.WindowsService 一种简单的库,允许一个人将点网核心应用程序托管为Windows服务。 为微服务架构提供支持的完美解决方案。 重要的提示 创建该库是为了使它能够承载CONSOLE点网核心应用程序。 如果您希望将网站托管为服务,最好遵循 安装 使用NuGet: Install-Package PeterKottas.DotNetCore.WindowsService 快速开始 最简单的开始方法是使用全新的模板。 做就是了: dotnet new -i PeterKottas.DotNetCore.WindowsService.Templates::* 此刻将添加一个模板。 跟进这个 mkdir NameOfYourProject cd NameOfYourProject dotnet new [ mcrsvc-min | mcrsvc-std ] 立即下载

相关推荐

.Net Core部署成Windows服务

本源码内部为实现.net Core部署成Window服务的具体实现代码。实现分为两个种类型:第一种:基于.Net Core WebApi项目类型的最小修改实现;第二种:基于类库+.Net Core控制台实现的部署成Windows服务。 除此之外示例代码中还使用NLog第三方日志类库与WebApi接口版本的实现。NLog使用了异步写入日志的功能并且启用Buffer。

Dotnet Core Windows Service

在dotnet 中有topshelf 可以很方便的写windows 服务并且安装也是很方便的,命令行 运行.exe install 就直接把exe 程序安装成windows 服务。当然代码也要做相应的修改,具体的可以参照例子。在dotnet core 2.0 中 我们也有一个很方便的dll 来使用 https://github.com/PeterKottas/DotNetCore.WindowsS

dotNET跨平台 2880

Decoder如何工作、Transformer如何训练、以及exposure bias问题

1、结合图文描述Decoder中各个模块是什么,以及是如何工作的。2、transformer是如何训练的。3、exposure bias问题造成的原因及解决方法

m0_59113542的博客 3345

Practical Python云服务部署:AWS与Azure终极指南

想要将你的Practical Python项目部署到云端?本指南将为你展示如何快速将Python应用部署到AWS和Azure云平台,实现高可用性和可扩展性。无论你是初学者还是有经验的开发者,这份完整的云服务部署教程都将帮助你轻松完成部署过程。 ## 为什么选择云服务部署?🚀 将Practical Python项目部署到云端可以带来诸多优势: - **弹性扩展**:根据流量自动调整资源 -

gitblog_00381的博客 950

Unity分包下载实战:AssetBundle+CDN+热更新全链路指南

分包下载是移动应用资源管理的核心技术,本质是将大体积安装包拆解为按需加载的独立资源单元,以解决用户安装意愿低、首屏启动慢、热更新不可控等关键问题。其底层依赖资源打包机制(如Unity AssetBundle)、全球分发网络(CDN)与安全热更新策略三者协同。AssetBundle提供资源隔离与依赖管理能力,CDN保障低延迟高可用下载,而热更新策略则决定版本控制、灰度发布与异常恢复的工程鲁棒性。该方案广泛应用于中重度游戏、大型工具类App及需要频繁内容迭代的商业项目,直接提升次日留存、过审成功率与用户在线时长

weixin_29762151的博客 354

PyTorch版Unet训练后别只看loss:手把手教你计算并可视化多类别语义分割的mIoU(附完整代码)

本文详细介绍了在PyTorch中使用Unet模型进行多类别语义分割后,如何计算和可视化mIoU(mean Intersection over Union)以全面评估模型性能。通过完整的代码示例和实用技巧,帮助开发者从loss优化转向更精准的区域分割评估,特别适用于医学图像分析等关键场景。

weixin_30906185的博客 435

低代码平台API集成终极指南:第三方系统对接与数据同步完整方案

在数字化转型浪潮中,低代码平台已成为企业快速构建应用的首选工具。然而,真正发挥低代码平台威力的关键在于其强大的API集成能力,能够实现与第三方系统的无缝对接和实时数据同步。本文将为您详细解析低代码平台API集成的完整流程和最佳实践。🎯 ## 🔗 什么是低代码平台API集成? 低代码平台API集成是指通过标准化的接口协议,将低代码平台与外部系统(如CRM、ERP、支付网关等)进行连接,实现数

gitblog_00094的博客 746

ComfyUI-Impact-Subpack插件安装避坑指南:为什么你的UltralyticsDetectorProvider节点还是找不到?

本文深入解析了ComfyUI-Impact-Subpack插件的安装与排障问题,特别是针对UltralyticsDetectorProvider节点缺失的常见问题提供了详细的解决方案。从底层机制到高阶应用,涵盖了手动安装、模型配置、性能优化等关键步骤,帮助用户彻底解决插件依赖关系断裂问题。

Jerry的专栏 1152

.NET Core部署为Windows服务的详细步骤

目前测试了下面两个项目,均可以部署为Windows服务运行。部署的方式。

shellching的专栏 2240

silvaco——GaN HEMT探索

上图为输出特性曲线 ,分别是在栅压为1v、3v、5v的情况下,可以看出在1v时器件处于截止状态,只有非常小近似于0的电流通过,随着栅压逐渐增大,沟道开启,产生漏极电流。上图为栅极漏电流曲线和转移特性曲线以及其提取的参数,可以看到阈值电压为=1.30249V,当栅压为0v时,Id=8.01032e-006,当栅压为5V时,Ig=3.11627e-006。albrct.n,低场迁移率模型,bn.albrct,an.albrct是albrct模型中的参数,可以由用户自己设定。lat.temp,晶格自热模型;

weixin_61913839的博客 7617

【ComfyUI】FluxKontext 身形调优与体态增强

AI身形调优与体态增强解决方案 该工作流通过Flux系列模型实现人物体态的智能化增强,主要特点包括: 采用UNet主体模型+双文本编码器+身形增强LoRA的架构组合 通过ReferenceLatent保持原始姿态的同时强化胸腰臀比例 完整工作流包含图像加载、文本编码、潜空间映射等8个核心节点 支持自动化的前后效果对比展示 应用优势: 保持人物自然姿态的前提下实现局部强化 支持通过Prompt精确控制增强方向 适用于摄影后期、角色美化等创作场景 输出效果稳定且风格统一 使用方

Mr数据杨 1300

Flightplan错误处理与安全配置:保障部署流程的稳定性与可靠性 [特殊字符]

Flightplan是一个强大的Node.js部署工具,专门用于在本地和远程主机上执行shell命令序列。对于任何自动化部署流程来说,错误处理和安全配置都是确保系统稳定性和可靠性的关键要素。本文将深入探讨Flightplan的错误处理机制和安全配置策略,帮助您构建更加健壮的部署流程。 ## 为什么错误处理对部署工具如此重要? 🤔 在自动化部署过程中,各种不可预见的问题都可能发生:网络连接中断

gitblog_00069的博客 333

【教程4>第7章>第6节】基于FPGA的Viterbi维特比译码verilog实现——ACS加比选单元1

本文介绍了ACS加比选单元模块在FPGA中的实现过程,重点讲解了维特比译码中的ACS单元功能及其在硬件实现中的关键问题。文章首先概述了ACS单元在维特比译码中的作用,即通过计算和比较分支度量值来选择最优路径。接着,详细描述了FPGA实现中的分支度量值归一化处理策略,并指出了其存在的弊端。随后,文章提供了基于Verilog的ACS加比选单元模块代码,解释了其输入输出端口及工作流程。最后,总结了本小节内容,并预告了下一章节将涉及ACS顶层模块的开发与仿真测试。

FPGA/MATLAB学习教程/源码/项目合作开发 568

net资源1

.net core例子 https://github.com/aspnet/Docs/tree/master/aspnetcore/fundamentals net core linux先决条件 https://docs.microsoft.com/zh-cn/dotnet/core/linux-prerequisites?tabs=netcore2x https:/...

dieruowan6112的博客 278

5.1 直流无刷电机(BLDC):基本控制概念

本文系统介绍了直流无刷电机(BLDC)控制系统的核心概念与技术。主要内容包括:控制系统的分层结构设计,开环与闭环控制的原理及特点,PWM调速技术及其调制方式,PID控制算法及其数字化实现方法,以及控制系统的性能评估指标。同时探讨了现代BLDC控制器硬件实现方案,并介绍了磁场定向控制(FOC)、直接转矩控制(DTC)等先进控制策略。文章全面阐述了BLDC电机控制从基本原理到前沿技术的知识体系,为相关应用提供了理论指导和技术参考。

技术工作者 491

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

从本地到云端:intro-to-dotnet-web-dev项目Azure部署完整教程

intro-to-dotnet-web-dev项目是一个面向Web开发者的入门教程,使用.NET、C#和ASP.NET Core技术栈。本教程将详细介绍如何将该项目从本地环境部署到Azure云平台,让你的Web应用快速拥有企业级的托管服务。 ## 为什么选择Azure部署.NET应用? Azure是微软提供的云平台,专为简化现代应用构建流程而设计。对于.NET开发者而言,Azure提供了无缝的

gitblog_00722的博客 787

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

[2core]WorkerService在Windows和Linux下部署与运行

通常需要为服务程序创建.service配置文件,如MyService.service,这个文件通常放置于etc/systemd/system/目录或usr/lib/systemd/system/目录,这俩目录也没啥却别,主要前者的优先级高一点而已。特别说明,本文不会记录操作系统的安装和配置,也不会记录dotnet运行环境的安装和使用,所以如果你有这方面的需求,我表示很抱歉,请自行搜索,或去微软官网。e)displayname表示指定一个友好名称,用于标识用户界面程序中的服务。

jkinbor的博客 1259

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

如何基于 dotnetcore worker service 创建 windows 服务

.NET CORE 3.1 提供了 worker service 这么一个模板,可以方便开发者来创建”windows 服务程序“(同样可发布于 linux)。 本篇以 centos 7.6 为发布环境,简要说明如何使用 worker service 来创建服务,并部署发布到 centos 中。 你可以通过以下命令来查看本地安装的 .net core 环境: dotnet --version # 笔者为 3.1.301 你可以通过以下命令来查看是否含有 worker service 模板:

lwplvx的专栏 1018

【愚公系列】2022年05月 ASP.NET Core下Worker Service构建系统服务实现任务调度

当你想到ASP.NET Core时,可能会想到Web应用程序后端代码,包括MVC和WebAPI。MVC视图和Razor页面还允许使用后端代码生成带有HTML元素的前端UI。全新的Blazor更进一步,允许使用WebAssembly在Web浏览器中运行客户端.NET代码。最后,我们现在有了一个Worker Service应用程序的模板。这是在ASP.NET Core早期预览中引入的。虽然项目模板最初列在Web模板下,但此后在向导中重新定位了一个级别。

愚公智库 56万+

基于DOTNET的XML WEB SERVICE 安全和性能优化

XML WEB SERVICE的跨平台,跨语言性是勿庸置疑的。基于WEB SERVICE的分布式系统将是WEB SERVICE最大的功能和特点。我们知道未来的网络将提供各种各样的服务,也许操作系统将失去效用,那时人们只要通过浏览器上网享用各种服务,这些服务就是我们的WEB SERVICE。那么这样也给我们同时带来了很多问题,主要的就是WEB SERVICE的安全和优化该怎么有效的解决?这是任何的网

shuilv2000的专栏 1285

ApplicationInsights-dotnet ETW 事件源详解:用 Windows 事件追踪定位 SDK 内部问题

当你给 .NET 应用接入 ApplicationInsights-dotnet(Application Insights .NET SDK)后,偶尔会遇到"遥测数据突然消失""配置明明改了却不生效"这类诡异问题。别急着猜——SDK 内部早已埋好了 **ETW 事件源(EventSource)**,它们会实时上报 SDK 内部的每一次警告与错误。本文带你快速读懂这些 Windows 事件追踪(Ev

gitblog_01017的博客 451

从零到一:用DotNetCore.WindowsService快速开发、安装并启动你的第一个.NET Core Windows服务

**DotNetCore.WindowsService** 是一个轻量级的 .NET Core Windows 服务托管库:它让你把一个普通的 .NET Core 控制台应用,用一条命令注册、安装并启动为 Windows 服务,是搭建微服务架构的完美底座。这篇教程将手把手带你从 0 创建项目、本地调试,到把服务一键装进 Windows,新手也能快速上手 🚀 > 💡 小提示:该库专门用于托管"

gitblog_00967的博客 618

.net core开发Windows服务

我们知道.net core支持console和web开发,分别叫做.net core程序和asp.net core. 查询.net core官方文档,并没有介绍编写windows service相关的说明,一直以来以为dotnet core不支持windows service开发,知道查看asp.net core部署文档中提到可以部署在Windowsservice中,从而确定dotnet是可...

573

ASP.NET Core 命令行工具全景指南:Bundled 工具、OpenAPI 生态与内部工具解析

> 本指南以 [src/Tools/README.md](https://link.gitcode.com/i/1dd33932561c12a98707911d15a7df33) 为骨架,系统梳理 ASP.NET Core 仓库中随 .NET CLI 分发的三类命令行工具:随 CLI 捆绑的 `dotnet-user-secrets`、`dotnet-sql-cache`、`dotnet-dev-

gitblog_00341的博客 886

告别IIS依赖!ASP.NET Core如何通过Windows Service实现服务托管

IIS默认会定时回收进程,这会严重影响后台应用的定时任务,接收消息队列等需要不间断运行的功能。在Program.cs里修改builder创建方式,将应用路径设为项目启动路径。发布选择目标运行时为 win-x64。通过启动参数指定启动端口。

m0_46704355的博客 280

aspnetcore 仓库还原旧版本 tag 报 Unable to load the service index 错误怎么处理?

在本地克隆的 aspnetcore 仓库中检出并还原旧版本(例如文档中给出的维护版 tag `v3.1.7`)时,执行还原命令可能失败,报错类似: ```text error : Unable to load the service index for source https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-exte

gitblog_00126的博客 435
上一篇: Angular打包内存溢出问题的解决办法
下一篇: Mac 制作系统安装盘的方法
Dickence
博客等级 码龄19年 204粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值