先看文件配置的代码:

ConfigurationBuilder configBuilder=new ConfigurationBuiler();//典型的创建者模式
configBuilder.AddJsonFile("config.json",option:false,reloadChange:false);//添加json配置文件,属于是创建者模式环节中的“配置创建者条件”的环节
IconfigurationRoot config=configBuilder.Build();//创建了配置root,“创建了对象”
string proxyAddress=config.GetSection("proxy:address").Value;//获取配置值

再看asp.net core 的Main():

public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);//典型的创建者模式 // Add services to the container.
//----------------属于是创建者模式环节中的“配置创建者条件”的环节,该环节应用了DI技术--------------------------
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
//------------------------------------------------------------------------------------
var app = builder.Build();//正式创建了对象 // Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
} app.UseHttpsRedirection(); app.UseAuthorization(); app.MapControllers(); app.Run();
}

从以上两个代码,可以看出,它们其实都属于创建者模式,该模式下,首先要规定创建者被创建前的一系列“创建条件”,然后再Build(),进行创建。

以上代码不同的是,后者使用了DI技术,将“创建条件”,诉诸于依赖注入。

ASP.NET Core之由配置系统与创建app所想到的的更多相关文章

  1. ASP.NET Core开发-如何配置Kestrel 网址Urls

    ASP.NET Core中如何配置Kestrel Urls呢,大家可能都知道使用UseUrls() 方法来配置. 今天给介绍全面的ASP.NET Core 配置 Urls,使用多种方式配置Urls. ...

  2. ASP.NET Core macOS 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core macOS 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 是对 ASP.NET 有重大意义的一次重新设计.本章节我 ...

  3. 翻译 - ASP.NET Core 基本知识 - 配置(Configuration)

    翻译自 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-5.0 ASP ...

  4. asp.net core 将配置文件配置迁移到数据库(一)

    asp.net core 将配置文件配置迁移到数据库(一) Intro asp.net core 配置默认是项目根目录下的 appsettings.json 文件,还有环境变量以及 command l ...

  5. asp.net core 系列 10 配置configuration (上)

    一.  ASP.NET Core 中的配置概述 ASP.NET Core 中的应用配置是基于键值对,由configuration 程序提供. configuration  将从各种配置源提供程序操作键 ...

  6. ASP.NET Core Windows 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core Windows 环境配置 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Windows 环境配置 ASP.NET Core ...

  7. (11)ASP.NET Core 中的配置一(Configuration)

    1.前言 ASP.NET Core在应用程序上引入Microsoft.Extensions.Configuration配置,可以支持多种方式配置,包括命令行配置.环境变量配置.文件配置.内存配置,自定 ...

  8. (12)ASP.NET Core 中的配置二(Configuration)

    1.内存配置 MemoryConfigurationProvider使用内存中集合作为配置键值对.若要激活内存中集合配置,请在ConfigurationBuilder的实例上调用AddInMemory ...

  9. ASP.NET Core Windows 环境配置

    ASP.NET Core 是对 ASP.NET 有重大意义的一次重新设计.本章节我们将介绍 ASP.NET Core 中的一些新的概念和它们是如何帮助我们开发现代化的 Web 应用程序 尽管 ASP. ...

  10. 聊聊ASP.NET Core中的配置

    ​作为软件开发人员,我们当然喜欢一些可配置选项,尤其是当它允许我们改变应用程序的行为而无需修改或编译我们的应用程序时.无论你是使用新的还是旧的.NET时,可能希望利用json文件的配置.在这篇文章中, ...

随机推荐

  1. 音乐在线刮削容器部署(Music Tag Web)

    『音乐标签』Web版是一款可以编辑歌曲的标题,专辑,艺术家,歌词,封面等信息的音乐标签编辑器程序, 支持FLAC, APE, WAV, AIFF, WV, TTA, MP3, M4A, OGG, MP ...

  2. Typecho自定义右键菜单美化和禁用F12

    右键美化 使用右键美化,请禁用 HoerMouse 鼠标美化插件,否则貌似没效果 Joe主题在后台-外观设置-设置外观-全局设置-自定义<body></body>标签内填入如下 ...

  3. Linux - vi & vim 编辑器

    vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计. vim 是从vi发展出来的一个文本编辑器.代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 使 ...

  4. centos 运行springboot 项目

    jar文件发布: 准备工作: 发布在springboot项目中的pom.xml文件添加如下: <build> <plugins> <plugin> <grou ...

  5. SqlmapAPI:自动化SQL注入的利器

    SqlmapAPI:自动化SQL注入的利器 SqlmapAPI简介 SqlmapAPI是基于sqlmap工具的API接口,它允许用户通过编程方式调用sqlmap的功能,实现自动化的SQL注入安全检测. ...

  6. NumPy学习9

    今天学习了NumPy排序和搜索功能 17, NumPy排序和搜索功能 numpy_test9.py : import numpy as np ''' 17, NumPy排序和搜索功能 NumPy 提供 ...

  7. 为什么AI教师难以实现

    提供AI应用咨询+陪跑服务,有需要回复1 本周为一家教育公司提供了全天的AI的培训,后续涉及AI+教育领域的项目开发,而我去年就做过AI教师项目,所以对AI+教育有一定熟悉度. 下来后又拜访了一家互联 ...

  8. Docker 实用镜像

    实用镜像 nginx-proxy nginx-proxy sets up a container running nginx and docker-gen. ...

  9. 记一次 .NET某云HIS系统 CPU爆高分析

    一:背景 1. 讲故事 年前有位朋友找到我,说他们的系统会偶发性的CPU爆高,有时候是爆高几十秒,有时候高达一分多钟,自己有一点分析基础,但还是没找到原因,让我帮忙看下怎么回事? 二:CPU爆高分析 ...

  10. CountDownLatch的countDown()方法的底层源码

    一.CountDownLatch的构造方法 // 创建倒数闩,设置倒数的总数State的值 CountDownLatch doneSignal = new CountDownLatch(N); 二.c ...