• 在Asp.Net Core Web项目中使用不同的环境


    在Asp.Net Core Web项目的环境有启动环境和运行环境,本文的开发环境为VS2019 + .Net Core 3.1。

    1、启动环境

    Asp.Net Core Web项目可以设置不同的Web服务器,用来启动项目。

    在launchSettings.json配置文件的profiles节点中,可以设置要启动的Web服务器:

    • IIS Express:启动IIS Express。
    • Project:启动Kestrel。

    2、运行环境

    Asp.Net Core 3.1内置如下运行环境:

    • Development 开发环境
    • Production 生产环境
    • Staging 模拟环境

    通过Startup类中的Configure方法获取运行环境:

    env.IsDevelopment()
    env.IsProduction()
    env.IsStaging()

    默认环境为开发环境。

    也可以通过设置launchSettings.json中的启动环境的ASPNETCORE_ENVIRONMENT参数,来设置不同的运行环境,比如:

    "ASPNETCORE_ENVIRONMENT": "Custom"

    通过Startup类中的Configure方法获取运行环境如下:

    env.IsEnvironment("Custom")

    3、根据运行环境配置不同的方法

    (1) 按方法名来判断运行环境
    通过在方法名后面加运行环境后缀,Asp.Net Core框架会自动判断运行环境使用的配置方法,如果没有运行环境后缀作为配置方法名称,会使用默认方法,即ConfigureServices/Configure,如果默认配置方法也找不到就会报错。

    下面为默认配置方法:

    public void ConfigureServices(IServiceCollection services)
    {
    
    }
    
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
    
    }

    下面为Development配置方法:

    public void ConfigureServicesDevelopment(IServiceCollection services)
    {
    
    }
    
    public void ConfigureDevelopment(IApplicationBuilder app, IWebHostEnvironment env)
    {
    
    }

    (2) 对Startup类使用运行环境后缀

    对Startup类使用运行环境后缀也能区分不同运行环境下的Startup类配置,但是需要修改Program类中的UseStartup方法:

    webBuilder.UseStartup(typeof(Program));

    Asp.Net Core框架找到相应环境的Startup类之后就用那个类,否则使用默认的Startup类,如果都找不到就报错。

    public class Startup
    {
    
    }
    
    public class StartupDevelopment
    {
    
    }
  • 相关阅读:
    HDU 2201 熊猫阿波问题==金刚坐飞机问题
    HDU 2100 (模拟进制加法)
    HDU 2151 Worm
    qsort快速排序
    HDU 1007 (最近点对+qsort对结构体的排序!!!)
    HDU 1348 wall (简单凸包)
    HDU 1392 Surround the Trees(凸包模板)
    HDU 1431素数回文
    HDU 2108 Shape of HDU(判断拐点)
    HDU 2857 Mirror and Light(镜面反射模板)
  • 原文地址:https://www.cnblogs.com/xhubobo/p/14461069.html
Copyright © 2020-2023  润新知