.NET 多环境切换

参考

在 ASP.NET Core 中使用多个环境 | Microsoft Learn

.Net Core 多环境的配置、调试和部署 - 朱角 - 博客园 (cnblogs.com)

开发环境

创建配置文件

分别新建配置文件 ProdutionStaging

填写内容 ASPNETCORE_ENVIRONMENT = Prodution or Staging

新建json文件

复制appsettings.Development.json两次,分别重命名为appsettings.Production.jsonappsettings.Staging.json

并且分别新建 Tip 属性,标明当前环境

改写Controller

csharp 复制代码
[ApiController]
[Route("[controller]/[action]")]
public class WeatherForecastController : ControllerBase
{
    private readonly IConfiguration Configuration;

    public WeatherForecastController(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    [HttpGet]
    public ActionResult GetCustomConfig()
    {
        return Content($@"读取CustomConfig配置为:{Configuration["Tip"]}");
    }
}

测试

  1. 默认情况下读取的是开发环境配置(appsettings.Production.json)
  1. 切换为 Staging 预览环境

输出正确

  1. 选择 Production 生产环境

输出正常

项目发布

发布项目

点击发布后选择发布为文件,然后无脑下一步

修改配置文件

发布后会生成PublishProfiles文件夹

将子文件复制,并且分别改名为Production.pubxmlStaging.pubxml

并且分别添加一行 <EnvironmentName>xxxx</EnvironmentName>

指定发布环境

可以在发布前指定环境配置

发布后的环境配置,可以在web.config中查看

测试

修改Program.cs代码,这样即使是在生产环境也能使用swagger

生产环境

项目已部署到iis中,输出正确

预览环境

修改 web.config 文件中 value 的值

刷新swagger页面,输出正确

相关推荐
计算机程序设计小李同学2 分钟前
基于位置服务的二手图书回收平台
java·前端·vue.js·spring boot·后端
Java程序员威哥11 分钟前
SpringBoot多环境配置实战:从基础用法到源码解析与生产避坑
java·开发语言·网络·spring boot·后端·python·spring
猿小羽25 分钟前
[TEST] Spring Boot 快速入门指南 - 1769246843980
java·spring boot·后端
Anastasiozzzz1 小时前
常见限流算法--【令牌桶】【漏桶】【固定窗口】【滑动窗口】
java·redis·后端·算法·面试
Zfox_2 小时前
【Docker#2】容器化虚拟化
运维·后端·docker·容器
小北方城市网2 小时前
Spring Cloud Gateway实战:路由、限流、熔断与鉴权全解析
java·spring boot·后端·spring·mybatis
晨非辰2 小时前
Linux权限实战速成:用户切换/文件控制/安全配置15分钟掌握,解锁核心操作与权限模型内核逻辑
linux·运维·服务器·c++·人工智能·后端
Loo国昌10 小时前
【LangChain1.0】第五阶段:RAG高级篇(高级检索与优化)
人工智能·后端·语言模型·架构
计算机学姐11 小时前
基于SpringBoot的演唱会抢票系统
java·spring boot·后端·spring·tomcat·intellij-idea·推荐算法
李慕婉学姐11 小时前
Springboot连锁火锅管理及预测系统sh5s1gn1(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端