首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET Core的配置(5):配置的同步

ConfigurationBuilder在生成以Configuration对象的时候会利用注册其中的ConfigurationProvider加载原始的配置数据,那么一旦配置源中的数据发生变化,应用程序中的使用的配置信息如何与之同步呢...如果需要在应用程序中实现对配置信息的实施同步,就需要对原始配置数据的进行监控,并在数据改变的时候重新加载配置数据。除此之外,重新加载的配置需要应用到程序中,我们必然需要一种通知机制。...为了让读者朋友们对配置同步机制在具体项目中的应用有个感官认识,我们先通过一个简单的实例来演示如何实现配置数据的实时同步。...我们采用一个INI文件作为配置源,通过实施监控这个文件第一时间感知到文件内容的变换。一旦原始配置文件的内容发生改变,应用程序将重新加载配置,并通过注册的回掉操作应用新的配置。...我们先创建一个ASP.NET Core控制台应用并在project .json文件中添加相应的依赖。

1.2K80

ASP.NET Core的配置(5):配置的同步

本节所谓的“配置同步”主要体现在两个方面:其一,如何监控配置源并在其变化的时候自动加载其数据,其目的是让应用中通过Configuration对象承载的配置与配置源的数据同步;其二、当Configuration...对象承载的配置放生变换的时候如何向应用程序发送通知,最终让应用程序使用最新的配置。...)使我们可以将三种格式(JSON、XML和INI)的文件作为配置原始数据的来源,所以针对物理文件的配置同步是配置同步机制的一个主要的应用领域。...现在我们来讨论配置同步的另一个话题,即如何在不重启应用程序的情况下使用新的配置。...当配置数据发生变化,也就是调用通过ConfigurationRoot的Reload方法重新加载配置的时候,这个方法会被调用用以发送“配置已经发生变化”的信号。

1.1K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ASP.NET Core的配置(2):配置模型详解

    在上面一章我们以实例演示的方式介绍了几种读取配置的几种方式,其中涉及到三个重要的对象,它们分别是承载结构化配置信息的Configuration,提供原始配置源数据的ConfigurationProvider...表现为键值对的原子配置项存储于叶子节点中,而非叶子节点仅仅体现为一个配置节点的逻辑容器,自身不包含具体的配置数据。...最常见的配置源体现为采用某个格式的文本文件,那么配置的原始结构则由文件的格式来决定。...配置模型的终极目的在于将具有不同来源的配置转换成Configuration对象,配置源和Configuration对象本身分别体现了配置的原始结构和逻辑结构,所以配置模型旨在实现配置数据从原始结构向逻辑结构的转换...IConfiguration还具有一个索引,我们可以指定子配置节的Key或者相对当前配置节的路径得到对应配置节的值。

    1.3K90

    ASP.NET Core的配置(1):读取配置信息

    我们可以采用内存的变量作为配置的数据源,也可以直接配置定义在持久化的文件甚至数据库中。...一、以键-值对的形式读取配置 虽然在大部分情况下的配置信息从整体来说都具有一个结构化的层次关系,但是“原子”配置项都以最简单的“键-值对”的形式来体现,并且键和值都是字符串,接下来我们会通过一个简单的实例来演示如何以键值对的形式来读取配置...我们创建一个针对ASP.NET Core的控制台应用,并在project.json中按照如下的方式添加针对“Microsoft.Extensions.Configuration”这个NuGet包的依赖,...在上面演示的实例中,为了创建这些封装配置的对象,我们都是采用手工读取配置的形式,如果定义的配置项太多的话,逐条读取配置项其实是一项非常繁琐的工作。...ASP.NET Core针对配置的Option模型(OptionModel)帮助我们实现了从配置到Option对象之间的绑定,接下来我们就对此做一个简单的演示。

    1.5K80

    ASP.NET Core的配置(4):多样性的配置来源

    对于这三种文件类型(JSON、XML和INI)来说,JSON能够采用简单直观的格式表示具有不同结构的数据,所以它是作为配置最好的选择。...JSON文件中,最终利用JsonConfiguationProvider加载该文件并将以JSON格式表示的配置原始数据转换成配置字典供配置模型使用。...JSON,但是对于配置模型的一种数据来源却有自己的局限性,比如它们对集合的表现形式有点不尽如人意。...INI文件直接以键值对的形式定义配置项,如下所示的代码片段体现了INI文件的基本格式。...中括号(“[]”)同时作为下一个的配置节开始的标志,同时也作为上一个配置结束的标志,所以采用INI文件定义的配置节并不存在层次化的结构,即没有“子配置节”的概念。

    1K80

    ASP.NET Core的配置(3): 将配置绑定为对象

    出于编程上的便利,我们通常不会直接利用ConfigurationBuilder创建的Configuration对象读取某个单一配置项的值,而是倾向于将一组相关的配置绑定为一个对象,我们将后者称为Options...如果调用具有参数key的Get方法,绑定的配置来源于由这个Key代表的子配置节。...在进行配置绑定的时候,如果原始配置项具有匹配的格式,则可以直接将其绑定为一个Point对象。...为了解决这个问题,我们将集合元素的索引(0、1、2、 …)对应的配置节的Key,所以右图所示的才是真正配置树的结构。 ?...字典可以视为元素类型为键值对的集合,两者在配置树上的表示非常相似,它们之间的唯一不同之处在于前者采用索引作为集合元素所在配置节的Key,后者直接将键值对的Key直接作为配置节的Key。

    1.3K60

    ASP.NET Core的配置(4):多样性的配置来源

    较之传统通过App.config和Web.config这两个XML文件承载的配置系统,ASP.NET Core采用的这个全新的配置模型的最大一个优势就是针对多种不同配置源的支持。...如果这些默认支持的配置源形式还不能满足你的需求,我们还可以通过注册自定义ConfigurationProvider的方式将其他形式数据作为我们的配置来源。...,我们知道ConfigurationProvider在配置模型中所起的作用就是读取原始的配置数据并将其转换成基于数据字典的物理结构。...ASP.NET Core应用寄宿一个托管进程中,在这种情况下我们倾向于采用命令行的方式来启动寄宿程序。...当以命令行的形式启动一个ASP.NET Core应用时,我们希望直接使用命名行开关(Switch)来控制应用的一些行为,所以命令行开关自然也就成为了配置常用的来源之一。

    76960

    asp.net core之配置

    简介 配置在asp.net core中可以说是我们必不可少一部分。 ASP.NET Core 中的应用程序配置是使用一个或多个配置提供程序执行的。...对象 配置优先级 不同的配置提供程序有不同优先级,相同的配置项高优先级的会覆盖低优先级的配置内容。...配置提供程序 ASP.NET Core自带的配置提供程序有很多个,如下图: 这里简单挑几个来了解一下。...自定义配置提供程序可以用于对接我们的一些配置中心,从配置中心读取/更新配置文件,常见的有我们熟悉的阿波罗配置中心,其中的SDK就提供了阿波罗配置提供程序。...总结 通过使用ASP.NET Core的Configuration组件,你可以轻松地管理应用程序的配置数据,并在不同环境中进行灵活的配置。

    28410

    ASP.NET Core的配置(3): 将配置绑定为对象

    我们在《读取配置信息》通过实例的形式演示了如何利用Options模型以依赖注入的方式直接获取由指定配置节绑定生成的Options对象,我们再次回顾一下当初我们编写的程序。...如下面的代码片段所示,基于Options模型的配置绑定的编程基本采用这样的模式:先后调用ServiceCollection的扩展方法AddOption和Configure注册Options模型相关的服务并完成...Options类型与指定配置节之间的映射,然后利用由此生成ServiceProvider获得一个类型为IOptions的服务示例,后者的Value就是配置绑定生成的Options对象...Configuration对象的扩展方法Bind完成了针对Options对象的配置绑定。...>,前者直接提供最终绑定了配置数据的Options对象,后者则在Options对象返回之前对它实施相应的初始化工作。

    1.1K90

    理解 ASP.NET Core - 配置(Configuration)

    另外,在 ASP.NET Core 中,配置 Web主机时,默认添加了前缀为ASPNETCORE_的环境变量。...: 在 launchSettings.json 中配置环境变量 在 ASP.NET Core 模板项目中,会生成一个 launchSettings.json 文件,我们也可以在该文件中配置环境变量。...约定:越后添加的配置提供程序优先级越高,优先级高的配置值会覆盖优先级低的配置值 在 主机(Host)中,我们介绍了Host的启动流程,根据默认的配置提供程序的添加顺序,默认的优先级从低到高为(我顺便将...日常使用的配置中心客户端,如Apollo等,都是通过实现自定义配置提供程序来提供配置的。...,看看是不是如咱们所期望的那样,读取到EF中的配置呢?

    2.3K21

    Asp.Net Core轻松入门之WebHost的配置

    在本篇文章中,我来讲一讲如何利用WebHost来加载配置文件和设置启动的Url 在前面的文章中讲过,ASP.Net Core应用程序会自动加载appsettings.json中的配置文件,那么如果配置文件不是写在...首先 新建一个ASP.NET Core空的项目,如图: ?...$"connectionString=\"{configuration["connectionString:defaultConnectionString"]}\""); //显示json文件中的配置文件...await context.Response.WriteAsync($"name=\"{configuration["name"]}\""); //显示命令行中的配置文件...在调试下  把配置文件改成本项目名  是该程序为自托管的程序,然后再应用程序参数中写入  参数  name=123   因为我们是调试中配置的命令行参数,所以我们需要再vs 上  把托管程序改成自己

    1.1K40

    ASP.NET Core 3框架揭秘] 配置:多样化的配置源

    XML也是一种常用的配置定义形式,它对数据的表达能力甚至强于JSON,几乎所有类型的数据结构都可以通过XML表示出来。...虽然XML对数据结构的表达能力总体要强于JSON,但是作为配置模型的数据来源却有自己的局限性,比如它们对集合的表现形式有点不尽如人意。...,原因很简单,因为字典的Key必须是唯一的,这必然要求最终构成配置树的每个节点必须具有不同的路径。...)是“同质”的,对于由它们表示的三个Profile对象来说,分别表示性别、年龄、电子邮箱地址和电话号码的四个叶子节点的路径是完全一样的,所以根本无法作为配置字典的Key。...通过前面针对配置绑定的介绍我们知道,如果需要通过配置字典来表示一个Profile对象的集合,我们需要按照如下的方式为每个集合元素加上相应的索引(“foo”、“bar”和“baz”)。

    37640

    ASP.NET Core微服务(二)——【ASP.NET Core Swagger配置】

    ASP.NET Core微服务(二)——【ASP.NET Core Swagger配置】: 环境:win10专业版+vs2019+sqlserver2014/2019 ASP.NET Core微服务(...访问【http://localhost:5000/swagger/index.html】·端口号自行查看【launchSettings.json】文件  4.2测试: 【GET测试】所有get访问的信息一目了然...: 【POST】测试 5、总结: a)、Info对象需要创建,使用vs的【ALT+回车】自动创建即可 b)、端口号根据自定义的端口号书写。...希望此文对大家有所帮助,后续会编写 ASP.NET Core微服务(三)——【跨域配置】、 ASP.NET Core微服务(四)——【静态vue使用axios解析接口】、 ASP.NET Core微服务...此文标题为ASP.NET Core微服务(二)——【ASP.NET Core Swagger配置】

    1.1K20

    ASP.Net MVC框架配置与分析

    前几年的时候ASP.Net就有MVC的概念,实际上就是我们熟悉的WebForm开发模型。...文件,继承自System.Web.UI.Page 类的文件 3、View就是aspx文件了 而今,微软推出了新的MVC开发框架,也就是Microsoft ASP.NET 3.5 Extensions。...一种是“ASP.NET MVC Web Application and Test”会同时创建MVC项目和一个测试项目,一个是ASP.NET MVC Web Application,只会纯粹的建立MVC项目...而在项目中引用新文件的时候,也会增加MVC的页面。 ? 在创建MVC项目以后,会增加以下文件 ? 访问的机制是通过URL重写实现的。因此,你需要设置IIS映射。 ?...最后要说明的是Html.ActionLink("About Us", "About", "Test")方法,能够实现自动链接处理, 参数1是 链接显示的文字 参数2是 要访问的文件 参数3是 访问的目录

    1.5K100
    领券