【问题标题】:Where are the EnvironmentVariablesConfigurationProvider fetching it's key-value pairs from?EnvironmentVariablesConfigurationProvider 从哪里获取它的键值对?
【发布时间】:2021-11-18 13:32:08
【问题描述】:

背景

我正在开发一个使用环境变量将连接字符串存储到数据库的 asp.net 核心应用程序。我尝试更改 Windows 中的连接字符串以将应用程序连接到另一个数据库,但应用程序仍使用旧的连接字符串。我什至完全删除了连接字符串,但在调试时旧的仍然存在。 此屏幕截图显示 Configuration 变量中的 EnvironmentVariablesConfigurationsProvider 在运行时仍保留旧值(索引 24,AzureConnectionString):

此屏幕截图显示了我在 Windows 中设置的环境变量:

问题

正如您在比较两张图片时看到的那样,AzureConnectionString 键未在 Windows 的“环境变量”对话框中定义,但在运行时以某种方式存在于应用程序中,这让我认为这些值是在其他地方获取的。

所以问题。 EnvironmentVariablesConfigurationProvider 从哪里获取它的键值对?

【问题讨论】:

  • 尝试检查您的launchSettings.json-文件,它有一个环境变量部分。
  • 感谢您的提示,但我已经这样做了,它只包含这个"ASPNETCORE_ENVIRONMENT": "Development"

标签: c# .net asp.net-core .net-core environment-variables


【解决方案1】:

似乎应用程序中的环境变量实际上是根据 Windows 环境变量对话框中看到的值构建的。但是,我通过系统重新启动解决了上述变量的某种缓存。

【讨论】:

    猜你喜欢
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多