zoukankan      html  css  js  c++  java
  • .Net core Worker Service 扩展库

    .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"));
    

      

    现在即可启动程序。

    相濡以沫,不如相忘于江湖
  • 相关阅读:
    hadoop测试题目每天5题,总35题,第一天
    hadoop测试题目每天5题,总35题,第四天
    hadoop测试题目每天5题,总35题,第五天
    SP_EXECUTESQL 的用法
    元数据函数的使用 快速定位数据相关过程,表,函数
    javascript 層的拖動
    如何求得一个月的最后一个工作日
    利用ASP.NET实现分页管理器(高级篇)轉
    Asp.Net页面输出到EXCEL
    .net相关专题汇总
  • 原文地址:https://www.cnblogs.com/CLR010/p/14814742.html
Copyright © 2011-2022 走看看