【问题标题】:IIS doesn't use user environment variablesIIS 不使用用户环境变量
【发布时间】:2017-06-13 00:39:31
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

  • 网站以什么帐户运行?如果您为错误的用户执行此操作,则将其作为用户级别变量执行是没有好处的。
  • 每个应用程序池都以其各自的用户身份运行,我可以通过在任务管理器中查看工作进程和 .net 核心可执行文件的正确用户来验证它们。

标签: asp.net iis


【解决方案1】:

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

What exactly happens when I set LoadUserProfile of IIS pool?

【讨论】:

    猜你喜欢
    • 2015-08-20
    • 2015-09-16
    • 2022-12-08
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 2021-04-28
    • 1970-01-01
    • 2020-08-15
    相关资源
    最近更新 更多