在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 { }
分类:
C#
, DotNetCore学习
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器