• ASP.NET CORE 2.0 发布到IIS,IIS如何设置环境变量来区分生产环境和测试环境


    0.前言

    因为给前端的测试环境是windows,所以要设置windows上的环境变量,如果上Linux就没有这篇文章了,所以大家不要在意为什么core不放在linux上。

    1.网上的解决方案 

    a 方式:通过 setx 命令设置环境变量参数,文章地址:https://www.cnblogs.com/xishuai/p/asp-net-core-set-hosting-environment-with-publish.html

      命令行:

    >setx ASPNETCORE_ENVIRONMENT "Development"
    
    SUCCESS: Specified value was saved.

       结论:无效,如果是直接使用dotnet run 命令是有效的,但是部署在IIS上,设置无效。

    b 方式:通过修改发布后的webconfig,文章地址:https://www.cnblogs.com/hulk-/p/5947467.html

    <configuration>
      <system.webServer>
        <handlers>
          <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
        </handlers>
        <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="true" stdoutLogFile=".logsstdout" forwardWindowsAuthToken="false">
          <environmentVariables>
            <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
          </environmentVariables>
        </aspNetCore>
      </system.webServer>
    </configuration>

      结论:有效,但是每次发布都需要改一次webconfig,非常麻烦!

    c 方式:这个是最好的解决方案,国内竟然没有人写出来,百度了半天,都找不到,后来在stackoverflow找到的方案,地址:https://stackoverflow.com/questions/31049152/publish-to-iis-setting-environment-variable#

       详细操作步骤:

      1:打开IIS,选择本机,找到管理-配置编辑器

      2.节选择:system.webServer/aspNetCore, 找到,点击右边编辑项

      3.点击添加,设置ASPNETCORE_ENVIRONMENT:Development

     

      4.最后,重启项目,设置完成,整个服务器上的所有项目都是测试环境了。

  • 相关阅读:
    01-Django 简介
    函数及函数的嵌套等
    循环及循环嵌套
    运算符
    if, elif, else及if嵌套
    变量及变量计算和引用
    Python的3种执行方式
    Jmeter设置默认中文启动
    Vysor
    python基础学习(二)
  • 原文地址:https://www.cnblogs.com/Ambre/p/9646445.html
Copyright © 2020-2023  润新知