IIS 无法获取我的环境变量

Jim*_*iss 6 .net c# iis environment-variables

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

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

var host = Environment.GetEnvironmentVariable("MY_HOST_NAME");
Run Code Online (Sandbox Code Playgroud)

知道问题可能出在哪里或我如何找到错误的人吗?

Dan*_*aru 12

如果通过重新启动服务器是指从 IIS 管理器重新启动,那么这还不够。如果您不想重新启动机器(谁做?),您必须从提升的提示中重新启动 iis 以获取新更改的变量

iisreset /restart
Run Code Online (Sandbox Code Playgroud)

或者如果你更喜欢打字

net stop w3svc && net start w3svc
Run Code Online (Sandbox Code Playgroud)

  • 通过 IIS 管理器停止和启动“服务器”似乎还不够。使用“iisreset /restart”做到了。 (4认同)

ror*_*.ap 4

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

进入控制面板,系统属性:

在此输入图像描述