【问题标题】:IIS cannot get my environment variableIIS 无法获取我的环境变量
【发布时间】:2017-04-10 11:15:30
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# .net iis environment-variables


    【解决方案1】:

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

    iisreset /restart
    

    或者如果有人更喜欢打字

    net stop w3svc && net start w3svc
    

    【讨论】:

    • 通过 IIS 管理器停止和启动“服务器”似乎还不够。使用iisreset /restart 做到了。
    【解决方案2】:

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

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

    【讨论】:

    • 这是一个系统级变量。
    猜你喜欢
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2020-01-27
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多