2017-06-13 222 views
0

我将.NET Core应用程序两次部署到同一台服务器,一次用于QA,一次用于生产。目前,我使用不同的本地用户运行IIS App Pool,并将ASPNETCORE_ENVIRONMENT变量设置为“qa”和“production”。IIS不使用用户环境变量

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

事情我已经看了迄今:

  1. 我可以为每个用户的登录,以及变量设置正确 。
  2. 没有系统级别的env var set,尽管如果有用户级别的变量应该覆盖它。
  3. 我可以看到在任务管理器中以正确用户身份运行的进程。
  4. 我已经重新启动整个系统设置的env瓦尔

它只是看起来,.NET是忽略了环境变量之后。

是否有其他人设法使用.NET核心部署来获得用户级环境变量?

附加信息:我可以在系统级别设置ASPNETCORE_ENVIRONMENT,并且这两个站点都会选择并运行它。在没有系统变量的情况下执行此操作无效。

+0

在站点上运行的是哪个帐户?如果您为错误的用户执行操作,则将其作为用户级别变量执行操作并不合适。 – mason

+0

每个应用程序池都以其各自的用户身份运行,我可以通过在工作进程和.net核心可执行文件的任务管理器中查看正确的用户来验证它们。 –

+0

[我在设置IIS池的LoadUserProfile时发生了什么?](https://stackoverflow.com/questions/17149132/what-exactly-happens-when-i-set-loaduserprofile-of-iis-pool) –

回答