2017-06-13 216 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) –

回答