生产环境如何设置ASP.NET5个环境变量

How to set ASP.NET 5 environment variables on production environment

在 Visual Studio 2015 中,您在项目属性中设置了以下变量:ASPNET_ENV。如果将其设置为开发,则可以使用:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseErrorPage();
    }
 }

IsDevelopment 方法将检查 ASPNET_ENV 环境变量。现在,当您处于 Visual Studio 2015 年时,这对开发来说一切都很好。当您将 Web 应用程序发布到生产服务器上的 IIS 时,如何设置 ASPNET_ENV[=21 的值=]?

我的服务器是Windows Server 2012

这是在 Windows 上设置环境变量的方法:

  1. 在您的服务器上,右键单击 'Computer' 或 'My Computer',然后单击 'Properties'。
  2. 转到'Advanced System Settings'。
  3. 单击“高级”选项卡中的 'Environment Variables'。
  4. 添加名称为 ASPNET_ENV (RC1) 或 ASPNETCORE_ENVIRONMENT(RC2、RTM 及更高版本)且值为 ProductionStaging 的新系统变量, Development 或任何你想要的。
  5. 可能需要重新启动您的网站。

另请参阅 回答如何从 gulpfile.js 中读取环境变量。

如果您使用 IIS 来托管您的应用程序,可以像这样在您的 web.config 文件中设置环境变量:

<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false">
    <environmentVariables>
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="QA" />
        <environmentVariable name="AnotherVariable" value="My Value" />
    </environmentVariables>
</aspNetCore>