Pau*_*uer 2 backgroundworker .net-core asp.net-core
我一直在阅读和学习 .Net Core 3.0 中提供的新 Worker Service 功能。我一直在使用 Microsoft 的此链接:后台任务与 ASP.NET Core 中的托管服务
我不明白的是,这些工作服务概念可以引入到现有的 ASPNET Web 项目中,例如 Razor Pages 站点吗?或者您必须创建一个新项目,然后使用主机操作系统为此提供的任何机制将该项目部署为服务?
是的,您可以IHostedService
在 ASP.NET Core 应用程序中托管任意数量的托管服务 ( )。在版本 3 中,ASP.NET Core 使用通用主机 ( Host.CreateDefaultBuilder
),这是在应用程序启动时托管这些托管服务的框架。事实上,ASP.NET Core Web 应用程序是一个IHostedService
本身。
要将其他托管服务添加到您的 ASP.NET Core 应用程序,只需在您的服务集合中注册其他托管服务,例如在 Startup 的ConfigureServices
:
services.AddHostedService<MyHostedService>();
Run Code Online (Sandbox Code Playgroud)
当应用程序运行时,该服务将与 ASP.NET Core Web 服务器一起启动。
文档中提到的 Worker SDK 实际上是您与 ASP.NET Core 应用程序一起使用的 Web SDK 的一个子集。Microsoft.NET.Sdk.Worker
基本上Microsoft.NET.Sdk.Web
没有特定于网络的东西,比如 Razor 编译和wwwroot
文件夹的东西。它基本上设置了自动文件通配符,例如,appsettings.json
并做了一些核心Microsoft.NET.Sdk
没有的其他有用的事情。
最终这意味着,当您使用 Web SDK 时,您已经拥有了 Worker SDK 提供的一切。所以你不需要指定 Worker SDK 来托管额外的后台服务。
归档时间: |
|
查看次数: |
493 次 |
最近记录: |