当前位置: 首页 > news >正文

WordPress如何建立手机网站网络营销的发展趋势和前景

WordPress如何建立手机网站,网络营销的发展趋势和前景,著名的营销成功的案例,免费自助建站模板ASP.NET Core 自动识别 appsettings.json 的机制解析 在 ASP.NET Core 中,IConfiguration 能自动识别 appsettings.json 并直接读取值的机制,是通过框架的 “约定优于配置” 设计和 依赖注入系统 共同实现的。以下是详细原理: 默认配置源的自…

ASP.NET Core 自动识别 appsettings.json 的机制解析

在 ASP.NET Core 中,IConfiguration 能自动识别 appsettings.json 并直接读取值的机制,是通过框架的 “约定优于配置” 设计和 依赖注入系统 共同实现的。以下是详细原理:


  1. 默认配置源的自动注册
    当使用 WebApplication.CreateBuilder() 创建应用时,框架会 自动加载默认配置源:
var builder = WebApplication.CreateBuilder(args);
// 等价于:
var builder = WebApplication.CreateBuilder(new WebApplicationOptions {Args = args,// 默认加载以下配置源(按优先级从高到低):// 1. 命令行参数// 2. 环境变量(前缀为 DOTNET_ 或 ASPNETCORE_)// 3. appsettings.{Environment}.json// 4. appsettings.json// 5. 用户机密(开发环境)
});

  1. 配置系统的初始化流程

  2. 自动查找配置文件
    • 框架会在程序集所在目录查找以下文件:

    appsettings.json(基础配置)

    appsettings.{Environment}.json(环境特定配置,如 appsettings.Development.json

  3. 自动加载到 IConfiguration
    • 通过 ConfigurationManager 自动合并所有配置源:

    builder.Configuration.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
    builder.Configuration.AddJsonFile($"appsettings.{builder.Environment.EnvironmentName}.json", optional: true);
    
  4. 注入到依赖系统
    builder.Build() 时会将 ConfigurationManager 实例注册为 IConfiguration 服务:

    services.AddSingleton<IConfiguration>(builder.Configuration);
    

  1. 直接访问配置值的原理
    通过 _configuration["MyKey"] 获取值时,实际调用链如下:
_configuration ConfigurationManager ConfigurationProvider 请求键"MyKey" 按优先级遍历所有Provider 返回匹配的值 返回最终值 _configuration ConfigurationManager ConfigurationProvider
  1. 键名匹配规则
    • 支持多级配置(用冒号分隔):

    {"Section": {"SubSection": {"MyKey": "Value"}}
    }
    
    {
    "Section2": {"Section3": {"SubSection": {"MyKey": "Value"}}}
    }
    
    _configuration["Section:SubSection:MyKey"]; // 返回 "Value"
    _configuration["Section3:Section2:SubSection:MyKey"];
    
  2. 值转换
    • 自动将字符串值转换为其他类型(通过 Get<T> 方法):

    int timeout = _configuration.GetValue<int>("Timeout");
    

  1. 动态加载与更新
    • 文件监控:

默认启用 reloadOnChange: true,修改文件后会自动重新加载配置。

// 监听文件变化
builder.Configuration.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

• 环境切换:

ASPNETCORE_ENVIRONMENT 环境变量改变时,会自动加载对应的环境配置文件。


  1. 为什么不需要手动注册?
    • 隐式服务注册:

WebApplication.CreateBuilder 已包含默认服务配置(ConfigureHostDefaultsConfigureAppDefaults)。

• 约定优先:

框架默认认为 appsettings.json 是标准配置文件,除非显式禁用。


  1. 自定义配置加载
    如果需要完全控制配置加载,可以手动初始化:
var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("custom.json") // 自定义文件.AddEnvironmentVariables().Build();var builder = WebApplication.CreateBuilder(new WebApplicationOptions {Configuration = config // 替换默认配置
});

  1. 验证配置是否加载
// 打印所有配置键值
foreach (var kv in _configuration.AsEnumerable())
{Console.WriteLine($"{kv.Key}: {kv.Value}");
}

http://www.dtcms.com/a/557666.html

相关文章:

  • AXF文件变量地址查找完全指南
  • 网站设计是什么自备服务器做网站
  • 物联网运维中基于自适应射频环境监测的动态频谱优化技术
  • Linux PCIe子系统深度解析:从硬件原理到驱动开发
  • ASP Folder:深入解析其功能与使用技巧
  • 那种网站建设软件最好广州网站制作联系方式
  • 做的丑的网站有哪些知乎女生做a视频的网站是什多少
  • linux命令-磁盘管理-6
  • rdpwsx!TSrvInitWD函数分析到rdpwd!WDWConfConnect
  • 购买一级域名做网站青岛seo关键词排名
  • 如何建网站保定自己做公司网站简单吗
  • 怎样理解网站建设与开发这门课红杉树装饰公司口碑怎么样
  • 用 Trae AI 编程打造我的个人成长空间:旅行、相册、我的信息模块全上线!
  • 临海 网站建设友情链接是什么意思
  • 意大利语网站建设软件工程学科评估
  • AutoCAD 2025软件安装包下载及安装教程
  • arcpy_pytho2.7_arcmap10.2乱码问题
  • MATLAB水滴下落湖水面泛起涟漪仿真
  • 【Python】For Midterm Review2(week1-6)
  • 智驾“请抬脚”提示感悟 - 当工程师思维遇见用户思维
  • AFFiNE:打破界限的知识平台,超越Notion与Miro!
  • 集团网站下分网站 模板wordpress企业网站 教程
  • 我在CSDN学MYSQL之----数据库基本概念和基本知识(下)
  • 神经符号系统架构:结合深度学习与符号推理的混合智能
  • wordpress 怎么学镇江网站关键字优化机构
  • JSP 点击量统计:技术与实践
  • QML学习笔记(五十)QML与C++交互:QML中单例C++对象
  • (108页PPT)金属加工行业智能工厂系统解决方案(附下载方式)
  • 网站建设情况说明搭建网站要什么显卡
  • C++11新特性基础知识点汇总