.net core 3.0 + angular 8.0 ----项目创建过程

  1. 读取appsetting.json数据为整体项目使用,以及在对应的环境下使用对应的配置文件。

官方文档:ASP.NET Core 中的配置 | Microsoft Learn

创建.net core application时,已经存在IConfiguration,我们只是在需要使用的地方声明使用即可(IConfiguration.GetConnectionString("your using name").

复制代码
public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
}

ASP.NET Core在应用启动时读取环境变量ASPNETCORE_ENVIRONMENT,ASPNETCORE_ENVIRONMENT可以设置任意值,但框架仅支持三个值:Development、Staging 和 Production,因此我们先在项目中添加appsettings.Development.json、appsettings.Production.json和appsettings.Staging.json以备用。

项目默认生成的appsettings.json用来存放公共配置,当我们设置Development环境时,最终的配置项是appsettings.Development.json和appsettings.json求并集的结果,若两文件有同名配置项则以appsettings.Development.json为准,其他环境同理。各json文件的配置项如下

复制代码
/*appsettings.json*/
{
  "UserType": "default",
  "OnlyDefault": "onlyDefault"
}
 
/*appsettings.Development.json*/
{
{
  "UserType": "development",
  "OnlyDevelopment": "onlyDevelopment"
}
 
/*appsettings.Production.json*/
{
  "UserType": "production",
  "OnlyProduction": "onlyProduction"
}
 
/*appsettings.Staging.json*/
{
  "UserType": "staging",
  "OnlyStaging": "onlyStaging"

}

ASPNETCORE_ENVIRONMENT设置为Development,那在VS中调试的时候就会读取appsettings.Development.json的数据
无论 ASPNETCORE_ENVIRONMENT设置为Development、Staging、Production,只要项目中有appsettings.Production.json,那项目发布后运行时默认会读取Production的配置。

在本地开发时,保证是在development即可。

相关推荐
Csvn16 分钟前
🧩 ESM vs CJS 混用的 7 个「天坑」——从 TypeScript 编译到 Node 与浏览器
前端
Csvn21 分钟前
🎯 Web 性能 API 集合:Performance Observer 的 5 个冷门妙用
前端
Csvn31 分钟前
深入 React 闭包陷阱:从根源上理解并根治 stale closure
前端
whyfail43 分钟前
前端学 Spring Boot(8):接口为什么越用越慢?
前端·spring boot·后端
用户059540174461 小时前
LangChain 记忆测试踩坑实录:这两个坑让我排查了 4 小时
前端·css
程序员黑豆1 小时前
鸿蒙应用开发:@Monitor 装饰器使用教程
前端·harmonyos
SamChan902 小时前
在Web应用中集成PDF多语言翻译功能:PDFTranslator API实战指南
前端·python·ai·pdf·yapi·机器翻译
kyriewen2 小时前
AI Agent 9秒删光了生产数据库——我给自己的项目做了5个紧急检查
前端·ai编程·claude
IT_陈寒3 小时前
JavaScript的this又双叒叕让我怀疑人生了
前端·人工智能·后端
陈随易3 小时前
MCP协议第5次更新,从打电话到微信聊天的巨大变革
前端·后端·程序员