IIS 不使用用户环境变量

Bra*_*ner 4 asp.net iis

我将 .NET Core 应用程序部署到同一台服务器两次,一次用于 QA,一次用于生产。目前,我让他们每个人都使用不同的本地用户来运行 IIS 应用程序池,并相应地将 ASPNETCORE_ENVIRONMENT 变量设置为“qa”和“production”。

这似乎不起作用,两个站点都运行生产配置,我认为这是默认配置。

到目前为止我看过的东西:

  1. 我可以作为每个用户登录,并且变量设置正确。
  2. 没有设置系统级别的 env var,但如果有的话,用户级别的变量应该覆盖它。
  3. 我可以在任务管理器中看到以正确用户身份运行的进程。
  4. 设置环境变量后,我重新启动了整个系统

.NET 似乎忽略了环境变量。

有没有其他人设法让用户级环境变量与 .NET 核心部署一起工作?

附加信息:我可以在系统级别设置 ASPNETCORE_ENVIRONMENT,两个站点都会选择并运行它。在没有系统变量的情况下这样做根本行不通。

Lex*_* Li 7

如果要使用用户特定的环境变量,则应将应用程序池设置 LoadUserProfile 设置为 true(默认值为 false),

当我设置 IIS 池的 LoadUserProfile 时究竟会发生什么?