72得票3回答
在ASP.NET Core中注册HostedService的正确方法:AddHostedService vs AddSingleton。

如何在ASP.NET Core 2.1中正确注册自定义托管服务?例如,我有一个从BackgroundService派生的自定义托管服务,名为MyHostedService。应该如何注册它? public IServiceProvider ConfigureServices(IServiceC...

27得票1回答
.NET Core中托管服务的集成测试

我有一个队列任务托管服务(.NET Core的新后台服务),我想测试一下。我的队列托管服务看起来像这样:public QueuedHostedService(IServiceProvider serviceProvider, IBackgroundTaskQueue taskQueue, IL...

22得票4回答
在ASP.NET Core 3.1中,我如何使用托管服务安排一个特定日期和时间的后台任务(Cron Jobs)?

我正在开发一个基于ASP.NET Core 3.1的项目,想要为它添加一个特定的功能,即在由文章作者指定的日期和时间安排一篇文章的发布(类似于WordPress通过其cron jobs安排计划发布的文章)。例如,如果我们从用户那里收到以下日期和时间: 2020-09-07 14:08:07 那...

22得票2回答
如何为我的后台服务编写单元测试?

我正在使用 .NET Core 中的 HostBuilder(而不是 WebHost!)。我的应用程序中有一个托管服务,覆盖了后台服务的 ExecuteAsync/StopAsync 方法,并且我想对其进行单元测试。这是我的 HostedService:public class DeviceT...

19得票2回答
在ASP.NET Core中每5分钟运行异步托管服务

ASP.NET Core的文档为后台服务提供了许多实现示例。其中有一个例子是使用定时器启动服务,但它是同步的。还有另一个例子是异步的,用于使用作用域依赖项启动服务。 我需要同时满足这两种需求:每5分钟启动一次服务,并且需要使用作用域依赖项。但是没有对应的示例。我结合了两个示例,但不确定如何安...

18得票5回答
如何在MVC Core应用程序中启动HostedService而无需HTTP请求

在我的MVC.NET Core 2.2应用程序中,有一个执行后台工作的HostedService。它在Startap类的ConfigureServices方法中注册。services.AddHostedService<Engines.KontolerTimer>(); 由于这是独立...

17得票2回答
使用ASP.NET Core中的托管服务进行并行排队后台任务

我正在使用ASP.NET Core 2.1中新增的托管服务和后台任务功能进行一些测试,更具体地说是测试队列后台任务,并且关于并行性的问题浮现了出来。 目前我严格按照Microsoft提供的教程操作,在尝试模拟同一用户多次请求以排队任务的方式执行工作时,我发现所有的workItems都是按顺序...

15得票6回答
在 Configure() 后启动 IHostedService

我有一个使用.NET Core 3.1编写的应用程序,提供一个描述应用程序健康状况的端点,并有一个IHostedService在数据库中进行数据处理。 然而,问题在于,HostedService的工作函数开始长时间处理,结果导致Startup中的Configure()方法未被调用,/statu...

13得票1回答
Azure Functions应用程序中可以使用IHostedService吗?

无论我们是否应该这样做,我们能在Azure Functions应用程序中使用IHostedService吗? 以下是尝试将托管服务(特别是后台服务)注册为IHostedService的方法:internal sealed class Startup : FunctionsStartup { ...

12得票2回答
一些服务无法构建(在验证服务描述符“ServiceType:IHostedService”时发生错误)。

我正在使用.NET 5,想要运行一个后台任务,使用IHostedService类,如下所示: public class PasargadJobs : IHostedService, IDisposable { private Timer _timer = null!; rea...