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 代码可能正在以不同的用户身份运行。如果您的变量是用户变量,则当代码以其他用户身份运行时,它不会出现。
进入控制面板,系统属性: