.Net core Worker Service 扩展库,目的为更易控制每一个worker 的运行。

提供根据配置文件对每一个Worker的停止、启动和自动解析注册Worker。

获取配置的方式不限于 使用配置文件,也可以使用数据库,也可以使用 [WeTools.SqlSugarDBConfigProvider](NuGet Gallery | WeTools.SqlSugarDBConfigProvider 1.0.0) nuget包,读取数据库配置。

未来计划 增加一个轻量级的服务配置中心,更方便的管理服务。

获取地址:NuGet Gallery | WeTools.WorkerService 1.0.1

Install-Package WeTools.WorkerService -Version 1.0.1

方式1,worker 类型通过配置文件解析

  1. 在配置文件添加节点
"WeTools": {
"Dir": "/", //worker 所在文件夹, 根目录为 / ;
"Workers": [
{
"Name": "Worker2",
"WorkerName": "Worker2",//具体的实现类名
"Enable": true //此节点控制worker 的运行
},
{
"Name": "Worker",
"WorkerName": "Worker",
"Enable": true
} ]
}

  

  1. 新建worker,并继承WeToolBackgroundService。

  2. 在Program类 ConfigureServices 里注册服务

services.AddServiceOptions(hostContext);
services.UseWorkers();

  

方式2 worker 通过特性解析

  1. 在配置文件添加节点
"WeTools": {
"Worker": {
"name":"testworker",//可选,默认为特性输入的名称
"workername":"",//可选,默认为特性解析的worker类名
"Enable": true
},
"Worker2":{
"Enable": true
}
}

  

或者 自定义配置节点 
"myconfig":
{
"DemoWorker":
{
"name": "adf123",
"Enable": true
}
}

  


或者 根节点下直接添加
"DemoWorker":
{
"Enable": true
},
"DemoWorker2":
{
"Enable": true
},

  

 
  1. 新建worker,继承WeToolBackgroundService 并在worker类添加特性

    	[Worker("DemoWorker")]
    public class TestWorker : WeToolBackgroundService
    {
    }

      

3.在Program类 ConfigureServices 里注册服务

参数对应 1 中的配置 选择不同的方法。

这里不需要调用 AddServiceOptions 方法。

services.UseWorker(hostContext.Configuration);
services.UseWorker(hostContext);
services.UseWorker(hostContext.Configuration.GetSection("myconfig"));

  

现在即可启动程序。

.Net core Worker Service 扩展库的更多相关文章

  1. .NET 中的 Worker Service 入门介绍

    翻译自 Steve Gordon 2020年3月30日的文章 <WHAT ARE .NET WORKER SERVICES?> [1] 随着 .NET Core 3.0 的发布,ASP.N ...

  2. 在 ASP.NET Core和Worker Service中使用Quartz.Net

    现在有了一个官方包Quartz.Extensions.Hosting实现使用Quartz.Net运行后台任务,所以把Quartz.Net添加到ASP.NET Core或Worker Service要简 ...

  3. .NET Core中的Worker Service

    当你想到ASP.NET Core时,可能会想到Web应用程序后端代码,包括MVC和WebAPI.MVC视图和Razor页面还允许使用后端代码生成带有HTML元素的前端UI.全新的Blazor更进一步, ...

  4. 基于.Net Core 5.0 Worker Service 的 Quart 服务

    前言 看过我之前博客的人应该都知道,我负责了相当久的部门数据同步相关的工作.其中的艰辛不赘述了. 随着需求的越来越复杂,最近windows的计划任务已经越发的不能满足我了,而且计划任务毕竟太弱智,总是 ...

  5. ServiceStack.Redis 的 ASP.NET Core 扩展库

    给大家安利一款 ServiceStack.Redis 的 ASP.NET Core 扩展库,它是基于 ServiceStack.Redis.Core 开发的. 简单易用,开源免费,使用ASP.NET ...

  6. Log4net 的 ASP.NET Core 扩展库

    给大家安利一款 log4net 的 ASP.NET Core 扩展库,它是基于 log4net 开发的. 简单易用,开源免费,使用ASP.NET Core自身提供的DI容器来实现服务的注册和消费.直接 ...

  7. ASP.NET Core扩展库

    亲爱的.Neter们,在我们日复一日的编码过程中是不是会遇到一些让人烦恼的事情: 日志配置太过复杂,各种模板.参数也搞不清楚,每次都要去查看日志库的文档,还需要复制粘贴一些重复代码,好无赖 当需要类型 ...

  8. ASP.NET Core扩展库之日志

        上一篇我们对Xfrogcn.AspNetCore.Extensions扩展库功能进行了简单的介绍,从这一篇文章开始,我将逐步介绍扩展库中的核心功能.     日志作为非业务的通用领域基础功能, ...

  9. ASP.NET Core扩展库之Http通用扩展

    本文将介绍Xfrogcn.AspNetCore.Extensions扩展库对于Http相关的其他功能扩展,这些功能旨在处理一些常见需求, 包括请求缓冲.请求头传递.请求头日志范围.针对HttpClie ...

随机推荐

  1. vue-cli2 项目中使用node-sass

    公司的项目,换了个电脑要重新安装一下依赖,但是直接npm install的时候报错了,提示node-sass未安装成功. 然后直接npn install node-sass --save 的时候还是下 ...

  2. web编辑工具 - Brackets - 强大免费的开源跨平台Web前端开发工具IDE

      简单使用可以参考: https://blog.csdn.net/melon19931226/article/details/68066971/ https://www.iplaysoft.com/ ...

  3. 学习笔记-vue 打包去#和页面空白问题

    文件资源路径是对的,但是页面空白.百度了很久找了一篇文章解决了. 1.vue项目中config文件下index.js中打包配置 build: { // Template for index.html ...

  4. Python的flask接收前台的ajax的post数据和get数据

    ajax向后台发送数据: ①post方式 ajax: @app.route("/find_worldByName",methods=['POST']) type:'post', d ...

  5. 系统编程-网络-tcp客户端服务器编程模型(续)、连接断开、获取连接状态场景

    相关博文: 系统编程-网络-tcp客户端服务器编程模型.socket.htons.inet_ntop等各API详解.使用telnet测试基本服务器功能 接着该上篇博文,咱们继续,首先,为了内容的完整性 ...

  6. MySQL-一条sql语句的执行顺序

    手写: SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_tab ...

  7. OO第四单元总结暨期末总结

    OO第四单元总结暨期末总结 目录 OO第四单元总结暨期末总结 第四单元三次作业架构与迭代 整体感受 HW1 HW2 HW3 四个单元架构设计与方法演进 Unit1 Unit2 Unit3 Unit4 ...

  8. spring-cloud-oauth2 认证授权

    什么是OAuth2? OAuth2是一个关于授权的开放标准,核心思路是通过各类认证手段(具体什么手段OAuth2不关心)认证用户身份,并颁发token(令牌),使得第三方应用可以使用该令牌在限定时间. ...

  9. Java(41-55)【 流程控制语句】

    1. 2.练习题if语句的使用 3.选择语句 4. 5.循环结构 6.continue和break

  10. Symmetry UVA - 1595

      The figure shown on the left is left-right symmetric as it is possible to fold the sheet of paper ...