首页 > 解决方案 > 如何在asp .net core web api的后台服务中获取主机URL?

问题描述

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

标签: asp.net-core.net-coreasp.net-core-webapi

解决方案


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


推荐阅读