如何在asp .net core web api中获取后台服务中的主机URL?

Sru*_*ese 6 .net-core asp.net-core asp.net-core-webapi

我有一个 Asp .Net core Web api,它将运行后台服务来每天安排一些任务并发送一些邮件。在邮件中我需要有 api 的 url。除了控制器之外,还有什么方法可以在后台服务中获取主机 URL。

Hen*_*ema 7

后台服务在 Web 请求的范围之外运行,因此是后台服务。这意味着没有可用的 HTTP 上下文,您可以从中获取应用程序的主机。我建议您创建一个应用程序设置,在其中为当前环境配置主机,例如appsettings.Staging.json,等,并通过注入或特定选项类appsettings.Production.json在后台服务中使用它。IConfiguration