其他分享
首页 > 其他分享> > 使用 IHostedService 和 BackgroundService 类在微服务中实现后台任务

使用 IHostedService 和 BackgroundService 类在微服务中实现后台任务

作者:互联网

ASP.NET Core 2.0 中的 WebHost(实现 IWebHost 的基类)是用于为进程提供 HTTP 服务器功能的基础结构项目,例如,在实现 MVC Web 应用或 Web API 服务时。 它提供 ASP.NET Core 中所有新的基础结构优点,使用户能够使用依赖关系注入,在请求管道中插入中间件等。 WebHost 将这些相同的 IHostedServices 用于后台任务。

.NET Core 2.1 中引入了 Host(实现 IHost 的基类)。 基本上,Host 能让用户拥有与 WebHost(依赖项注入、托管服务等)相似的基础结构,但在这种情况下,只需拥有一个简单轻便的进程作为主机,与 MVC、Web API 或 HTTP 服务器功能无关。

因此,可以选择一个专用主机进程或使用 IHost 创建一个来专门处理托管服务,例如仅用于托管 IHostedServices 的微服务,或者也可以选择性地扩展现有的 ASP.NET Core WebHost,例如现有的 ASP.NET Core Web API 或 MVC 应用。

每种方法都有优缺点,具体取决于业务和可伸缩性需求。 重要的是,如果后台任务与 HTTP (IWebHost) 无关,则应使用 IHost

详情:

https://docs.microsoft.com/zh-cn/dotnet/architecture/microservices/multi-container-microservice-net-applications/background-tasks-with-ihostedservice

标签:Core,ASP,Web,WebHost,BackgroundService,后台任务,IHostedService,NET
来源: https://www.cnblogs.com/lunawzh/p/14812945.html