{"id":39,"date":"2022-04-03T07:31:37","date_gmt":"2022-04-02T23:31:37","guid":{"rendered":"http:\/\/192.168.0.138:8083\/?p=39"},"modified":"2022-04-03T07:32:34","modified_gmt":"2022-04-02T23:32:34","slug":"net-core-worker-service-%e6%89%a9%e5%b1%95%e5%ba%93","status":"publish","type":"post","link":"http:\/\/192.168.0.138:8083\/net-core-worker-service-%e6%89%a9%e5%b1%95%e5%ba%93\/","title":{"rendered":".Net core Worker Service \u6269\u5c55\u5e93"},"content":{"rendered":"\n

.Net core Worker Service \u6269\u5c55\u5e93\uff0c\u76ee\u7684\u4e3a\u66f4\u6613\u63a7\u5236\u6bcf\u4e00\u4e2aworker \u7684\u8fd0\u884c\u3002<\/p>\n\n\n\n

\u63d0\u4f9b\u6839\u636e\u914d\u7f6e\u6587\u4ef6\u5bf9\u6bcf\u4e00\u4e2aWorker\u7684\u505c\u6b62\u3001\u542f\u52a8\u548c\u81ea\u52a8\u89e3\u6790\u6ce8\u518cWorker\u3002<\/p>\n\n\n\n

\u83b7\u53d6\u914d\u7f6e\u7684\u65b9\u5f0f\u4e0d\u9650\u4e8e \u4f7f\u7528\u914d\u7f6e\u6587\u4ef6\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528\u6570\u636e\u5e93\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528 [WeTools.SqlSugarDBConfigProvider](NuGet Gallery | WeTools.SqlSugarDBConfigProvider 1.0.0<\/a>) nuget\u5305\uff0c\u8bfb\u53d6\u6570\u636e\u5e93\u914d\u7f6e\u3002<\/p>\n\n\n\n

\u672a\u6765\u8ba1\u5212 \u589e\u52a0\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u670d\u52a1\u914d\u7f6e\u4e2d\u5fc3\uff0c\u66f4\u65b9\u4fbf\u7684\u7ba1\u7406\u670d\u52a1\u3002<\/p>\n\n\n\n

\u83b7\u53d6\u5730\u5740\uff1aNuGet Gallery | WeTools.WorkerService 1.0.1<\/a>  <\/p>\n\n\n\n

1<\/td>Install-Package WeTools.WorkerService -Version 1.0.1<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

\u65b9\u5f0f1\uff0cworker \u7c7b\u578b\u901a\u8fc7\u914d\u7f6e\u6587\u4ef6\u89e3\u6790<\/h3>\n\n\n\n
  1. \u5728\u914d\u7f6e\u6587\u4ef6\u6dfb\u52a0\u8282\u70b9<\/li><\/ol>\n\n\n\n
    \"WeTools\": {\r\n    \"Dir\": \"\/\", \/\/worker \u6240\u5728\u6587\u4ef6\u5939, \u6839\u76ee\u5f55\u4e3a \/ ;\r\n    \"Workers\": [\r\n      {\r\n        \"Name\": \"Worker2\",\r\n        \"WorkerName\": \"Worker2\",\/\/\u5177\u4f53\u7684\u5b9e\u73b0\u7c7b\u540d\r\n        \"Enable\": true \/\/\u6b64\u8282\u70b9\u63a7\u5236worker \u7684\u8fd0\u884c\r\n      },\r\n      {\r\n        \"Name\": \"Worker\",\r\n        \"WorkerName\": \"Worker\",\r\n        \"Enable\": true\r\n      }\r\n \r\n    ]\r\n  }<\/code><\/pre>\n\n\n\n
    1. \u65b0\u5efaworker\uff0c\u5e76\u7ee7\u627fWeToolBackgroundService\u3002<\/li>
    2. \u5728Program\u7c7b ConfigureServices \u91cc\u6ce8\u518c\u670d\u52a1<\/li><\/ol>\n\n\n\n
      services.AddServiceOptions(hostContext);\r\nservices.UseWorkers();<\/code><\/pre>\n\n\n\n

      \u65b9\u5f0f2 worker \u901a\u8fc7\u7279\u6027\u89e3\u6790<\/h3>\n\n\n\n
      1. \u5728\u914d\u7f6e\u6587\u4ef6\u6dfb\u52a0\u8282\u70b9<\/li><\/ol>\n\n\n\n
        \"WeTools\": {\r\n    \"Worker\": {\r\n      \"name\":\"testworker\",\/\/\u53ef\u9009\uff0c\u9ed8\u8ba4\u4e3a\u7279\u6027\u8f93\u5165\u7684\u540d\u79f0\r\n      \"workername\":\"\",\/\/\u53ef\u9009\uff0c\u9ed8\u8ba4\u4e3a\u7279\u6027\u89e3\u6790\u7684worker\u7c7b\u540d\r\n      \"Enable\": true\r\n    },\r\n    \"Worker2\":{\r\n     \"Enable\": true\r\n    }\r\n  }<\/code><\/pre>\n\n\n\n

        \u6216\u8005 \u81ea\u5b9a\u4e49\u914d\u7f6e\u8282\u70b9<\/p>\n\n\n\n

        \"myconfig\":\r\n{\r\n    \"DemoWorker\":\r\n    {\r\n        \"name\": \"adf123\",\r\n        \"Enable\": true\r\n    }\r\n} <\/code><\/pre>\n\n\n\n

        \u6216\u8005 \u6839\u8282\u70b9\u4e0b\u76f4\u63a5\u6dfb\u52a0<\/p>\n\n\n\n

        \"DemoWorker\":\r\n{\r\n    \"Enable\": true\r\n},\r\n\"DemoWorker2\":\r\n{\r\n    \"Enable\": true\r\n},<\/code><\/pre>\n\n\n\n

        \u65b0\u5efaworker\uff0c\u7ee7\u627fWeToolBackgroundService \u5e76\u5728worker\u7c7b\u6dfb\u52a0\u7279\u6027<\/p>\n\n\n\n

        [Worker(\"DemoWorker\")]\r\npublic class TestWorker : WeToolBackgroundService\r\n{\r\n}<\/code><\/pre>\n\n\n\n

        3.\u5728Program\u7c7b ConfigureServices \u91cc\u6ce8\u518c\u670d\u52a1<\/p>\n\n\n\n

        \u53c2\u6570\u5bf9\u5e94 1 \u4e2d\u7684\u914d\u7f6e \u9009\u62e9\u4e0d\u540c\u7684\u65b9\u6cd5\u3002<\/p>\n\n\n\n

        \u8fd9\u91cc\u4e0d\u9700\u8981\u8c03\u7528 AddServiceOptions \u65b9\u6cd5\u3002<\/p>\n\n\n\n

        services.UseWorker(hostContext.Configuration);\r\nservices.UseWorker(hostContext);\r\nservices.UseWorker(hostContext.Configuration.GetSection(\"myconfig\"));<\/code><\/pre>\n\n\n\n

        \u73b0\u5728\u5373\u53ef\u542f\u52a8\u7a0b\u5e8f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"

        .Net core Worker Service \u6269\u5c55\u5e93\uff0c\u76ee\u7684\u4e3a\u66f4\u6613\u63a7\u5236\u6bcf\u4e00\u4e2aworker \u7684\u8fd0\u884c\u3002 \u63d0\u4f9b\u6839\u636e […]<\/p>\n","protected":false},"author":1,"featured_media":40,"comment_status":"closed","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":[],"categories":[3],"tags":[10],"_links":{"self":[{"href":"http:\/\/192.168.0.138:8083\/wp-json\/wp\/v2\/posts\/39"}],"collection":[{"href":"http:\/\/192.168.0.138:8083\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/192.168.0.138:8083\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/192.168.0.138:8083\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/192.168.0.138:8083\/wp-json\/wp\/v2\/comments?post=39"}],"version-history":[{"count":1,"href":"http:\/\/192.168.0.138:8083\/wp-json\/wp\/v2\/posts\/39\/revisions"}],"predecessor-version":[{"id":41,"href":"http:\/\/192.168.0.138:8083\/wp-json\/wp\/v2\/posts\/39\/revisions\/41"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/192.168.0.138:8083\/wp-json\/wp\/v2\/media\/40"}],"wp:attachment":[{"href":"http:\/\/192.168.0.138:8083\/wp-json\/wp\/v2\/media?parent=39"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/192.168.0.138:8083\/wp-json\/wp\/v2\/categories?post=39"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/192.168.0.138:8083\/wp-json\/wp\/v2\/tags?post=39"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}