Asp.net IIS 在Win10上环境变量的问题

在Windows 10上,Application Pool的setProfileEnvironment的默认值是false,而在Windows 2012/2016上,默认值是true。这就导致Win 10上的环境变量不能正常加载,在读写临时文件的时候出现权限错误。

这个问题在https://github.com/aspnet/Docs/issues/10864 被讨论过,默认值在Server环境中已经修复,但是非Server环境没有。

这个问题的解决办法是:

  • 打开C:\Windows\System32\inetsrv\Config\applicationHost.config
  • 找到你的Application Pool的节点
  • 添加setProfileEnvironment=”true”
  • 重启Application Pool

另外还可以通过Powershell的脚本来解决

Set-ItemProperty IIS:\AppPools\app-pool-name -name procesModel -value @{setProfileEnvironment=$true}

DONE.

发表在Medium

你可能感兴趣的:(Asp.net IIS 在Win10上环境变量的问题)