问题描述: 当ASP.net Core应用在IIS上运行时,环境变量不会自动更新。
解决方法: ASP.net Core应用在IIS上运行时,可以通过以下方法强制环境变量更新:
Startup.cs
文件中,添加以下代码:public class Startup
{
//...
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
//...
// 强制环境变量更新
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
//...
}
}
这样,每次应用启动时,都会重新加载配置文件和环境变量,确保环境变量的更新。
在IIS中,将应用程序池的“加载用户配置文件”设置为True。这可以确保IIS在运行应用程序时加载用户配置文件,从而更新环境变量。
如果仍然无法更新环境变量,可以尝试在IIS中重新启动应用程序池或重启IIS服务。
通过以上方法,可以解决ASP.net Core应用在IIS上运行时环境变量不更新的问题。