asp.net-core - 如何在asp .net core web api的后台服务中获取主机URL?
问题描述
我有一个 Asp .Net 核心 web api,它将运行一个后台服务来每天安排一些任务并发送一些邮件。在邮件中,我需要有 api 的 url。除了控制器之外,还有什么方法可以在后台服务中获取主机 URL。
解决方案
后台服务在 Web 请求的范围之外运行,因此是后台服务。这意味着没有可用的 HTTP 上下文,您可以从中获取应用程序的主机。我建议您创建一个应用程序设置,在其中为当前环境配置主机,例如appsettings.Staging.json
,appsettings.Production.json
等,并通过注入IConfiguration
或特定选项类在后台服务中使用它。
推荐阅读
- javascript - Webpack:TypeScript 编译中缺少。...在 AngularCompilerPlugin.getCompiledFile
- flutter - 如何模拟点击按钮 Flutter WebView
- php - 使用php将文件从表单上传到s3存储桶
- java - RecyclerView 项目行中的 ProgressBar 未更新
- python - 如何在 python 中创建年同比图
- scala - 使用 MixedVec 在凿子中使用动态参数创建 IO 包
- php - 比较两个和三个数组中包含的相同值的数组中的任何位置
- mysql - mySQL:三列上的唯一约束以及特定值
- c# - 如何从产量返回中返回音频剪辑?
- email - 电子邮件未送达收件人