【发布时间】:2017-06-13 00:39:31
【问题描述】:
我将 .NET Core 应用程序部署到同一台服务器两次,一次用于 QA,一次用于生产。目前我让他们每个人都使用不同的本地用户来运行 IIS 应用程序池,并相应地将 ASPNETCORE_ENVIRONMENT 变量设置为“qa”和“production”。
这似乎不起作用,两个站点都运行生产配置,据我所知这是默认配置。
到目前为止我看过的东西:
- 我可以作为每个用户登录,并且设置了变量 正确。
- 没有设置系统级 env var,但如果有,用户级 var 应该覆盖它。
- 我可以在任务管理器中看到以正确用户身份运行的进程。
- 设置环境变量后我已经重启了整个系统
.NET 似乎忽略了环境变量。
有没有其他人设法让用户级环境变量与 .NET 核心部署一起使用?
附加信息:我可以在系统级别设置 ASPNETCORE_ENVIRONMENT,两个站点都会选择它并使用它运行。在没有系统变量的情况下这样做根本行不通。
【问题讨论】:
-
网站以什么帐户运行?如果您为错误的用户执行此操作,则将其作为用户级别变量执行是没有好处的。
-
每个应用程序池都以其各自的用户身份运行,我可以通过在任务管理器中查看工作进程和 .net 核心可执行文件的正确用户来验证它们。