如何在启动类中读取应用程序 URL,特别是在 .net core 3.1 中的“ConfigureService”方法中?

Posted

技术标签:

【中文标题】如何在启动类中读取应用程序 URL,特别是在 .net core 3.1 中的“ConfigureService”方法中?【英文标题】:How to read Application URL in startup class particularly in "ConfigureService" method in .net core 3.1? 【发布时间】:2021-12-17 05:52:47 【问题描述】:

我可以在中间件的帮助下在启动类的 Configure 方法中读取 URL,但我需要在“ConfigureService”方法中读取 URL,但我没有得到任何截至目前的解决方案。有没有办法在“ConfigureService”方法中读取应用程序 URL?

【问题讨论】:

如果您需要帮助使您编写的代码工作,它有助于显示相关代码,例如您如何在 Configure() 方法中获取 URL。 Edit你的问题添加它。 【参考方案1】:

Web 服务器侦听的 URL 不一定是您希望它认为的 URL。它可以被代理。

您无法在 ConfigureServices 中获取请求管道,因为该管道甚至还没有准备好。

此时的代码也不必从外部请求中唤醒,可以是应用程序池初始化或监控应用程序。

将网站 URL 放入您的 appsettings 中,然后从那里读取。

【讨论】:

非常感谢您的回答,但我必须决定根据那里的应用程序 URL 设置一个属性。是的,正如您所说,我已经从 appsettings 中读取了 url,但是应该根据应用程序 url 来决定它是否应该调用测试或可接受或生产 appsettings 值。简而言之,我正在寻找在那里读取应用程序 URL 的方法,但正如您的解释,这看起来是不可能的。有什么技巧可以找到这个吗? 这些值应该具有相同的键,但每个环境的值不同。

以上是关于如何在启动类中读取应用程序 URL,特别是在 .net core 3.1 中的“ConfigureService”方法中?的主要内容,如果未能解决你的问题,请参考以下文章

c++ 如何在构造函数中启动一个线程,从命名管道读取数据?

如何在 React JS 中读取组件内的 URL 参数? [复制]

如何读取注册表项的值c#

Android - 如何在应用程序类中读取包名称[重复]

Spring Boot项目读取不到配置文件中的“url“属性

为啥rabbitMQ启动特别慢