IIS无法获取我的环境变量

时间:2017-04-10 11:15:31

标签: c# .net iis environment-variables

我想在我的网络应用程序中使用环境变量。

我转到高级系统设置并通过系统级变量设置我的环境变量(例如MY_HOST_NAME)。 然后我重新启动服务器并检查命令行“set”,如果变量在那里,我可以看到它。 但是,如果我尝试在我的应用程序中获取由IIS托管的变量,则存在变量null。 我正在使用的代码:

var host = Environment.GetEnvironmentVariable("MY_HOST_NAME");

知道问题可能存在的任何人或我如何找到错误?

2 个答案:

答案 0 :(得分:2)

是用户环境变量还是系统级变量?我问的原因是你的IIS代码可能是以不同的用户身份运行的。如果您的变量是用户变量,则当代码以其他用户身份运行时,它将不会出现。

转到控制面板,系统属性:

enter image description here

答案 1 :(得分:1)

如果通过重新启动服务器来表示从IIS管理器重新启动,那么这还不够。 如果您不想重启机器(谁这样做), 您将不得不从提升的提示符下重新启动iis,以获取新更改的变量

iisreset /restart

或者如果有人更喜欢打字

net stop w3svc && net start w3svc