.NET 多环境切换

2023年 10月 4日 80.9k 0

参考

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

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

开发环境

创建配置文件

image.png

分别新建配置文件 ProdutionStaging

填写内容 ASPNETCORE_ENVIRONMENT = Prodution or Staging

image.png

新建json文件

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

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

image.png

改写Controller

[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"]}");
    }
}

测试

  • 默认情况下读取的是开发环境配置(appsettings.Production.json)
  • image.png

    image.png

  • 切换为 Staging 预览环境
  • image.png

    输出正确

    image.png

  • 选择 Production 生产环境
  • image.png

    输出正常

    image.png

    项目发布

    发布项目

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

    image.png
    image.png

    修改配置文件

    发布后会生成PublishProfiles文件夹

    image.png

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

    并且分别添加一行
    xxxx

    image.png

    image.png

    指定发布环境

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

    image.png

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

    image.png

    测试

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

    image.png

    生产环境

    image.png

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

    image.png

    预览环境

    修改 web.config 文件中 value 的值

    image.png

    刷新swagger页面,输出正确

    image.png

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论