C# 运行后台服务并提供RESTAPI接口以从.netcore中的服务获取数据

C# 运行后台服务并提供RESTAPI接口以从.netcore中的服务获取数据,c#,asp.net-core,.net-core,C#,Asp.net Core,.net Core,我正在编写一个具有多个端点的应用程序,例如(http://localhost:5000/radio,http://localhost:5000/Location等),我正在为其创建多个控制器 但对于每个控制器,我希望运行后台服务。每当请求通过REST接口时,每个控制器都将使用独立的服务来获取数据 我不知道如何在.NETCore3.1中运行后台服务。我希望从BackgroundService派生我的服务类来获得此功能 但是所有的服务都有不同的行为,例如 基于定时器的 正在等待回调事件处理数据 其

我正在编写一个具有多个端点的应用程序,例如(
http://localhost:5000/radio
http://localhost:5000/Location
等),我正在为其创建多个控制器

但对于每个控制器,我希望运行后台服务。每当请求通过REST接口时,每个控制器都将使用独立的服务来获取数据

我不知道如何在.NETCore3.1中运行后台服务。我希望从
BackgroundService
派生我的服务类来获得此功能

但是所有的服务都有不同的行为,例如

  • 基于定时器的
  • 正在等待回调事件处理数据
  • 其中一个服务具有在REST框架中出现请求时从文件中读取数据的功能

如果有人能对此场景提供一些见解或展示一些示例代码,那就太好了。

上面的文档中有一篇好文章


还有一个.NET核心库,用于处理后台任务,这可能会有所帮助。

谢谢Rosco,实际上我不想使用hangfire库。所以你认为IHostedService可以解决我的问题吗?如果要从控制器调用这些服务,我认为我应该在所有控制器中创建服务成员。实际上,我没有发现任何REST APi和后台服务同时运行的示例应用。@sumit这些托管服务本质上是暂时的,所以当它被注入控制器时,您将使用一个新实例。