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

哈尔滨住房城乡建设局网站刷关键词排名软件有用吗

哈尔滨住房城乡建设局网站,刷关键词排名软件有用吗,qq是哪家公司的产品,学校官网主页网页设计1 配置文件 程序开发中,有些信息是要根据环境改变的,比如开发环境的数据库可能是本地数据,而生产环境下需要连接生产数据库,我们需要把这些信息放到程序外面,在程序运行时通过读取这些外部信息实现不改变程序代码适应…

1 配置文件

程序开发中,有些信息是要根据环境改变的,比如开发环境的数据库可能是本地数据,而生产环境下需要连接生产数据库,我们需要把这些信息放到程序外面,在程序运行时通过读取这些外部信息实现不改变程序代码适应不同环境的需求,这些信息就是“配置”。
在AspNetCore中,最常见的配置文件就是appsetings.json,和appsettings.{enviroment}.json。配置数据以json的方式存储在外部的json文档中。除此之外,还提供其他的配置数据源 【不同的ConfigurationProvider】,允许系统从多个配置源中读取配置文件,如环境变量或者系统内存。

2 配置源与配置读取规则

针对配置涉及三个对象,它们分别是Configuration、ConfigurationBuilder和ConfigurationProvider。

  • Configuration对象承载着在编程过程中使用的配置信息,在AspNetCore中,配置功能通常通过在构造函数中注入IConfiguration来实现;
  • ConfigurationProvider则是配置信息原始数据源的提供者;
  • ConfigurationBuilder它利用ConfigurationProvider提取源数据将其转换为Configuration对象。

AspNetCore中的配置数据源包括
MemoryConfigurationProvider: 从内存中读取配置
JsonConfigurationProvider:从json文档中读取配置
EnvironmentVariablesConfigurationProvider:从系统环境变量中读取配置
CommandLineConfigurationProvider:从运行命令行中读取配置
等。

在同时处在多个数据源的情形下,配置数据的读取数据又会是什么样呢?
这个问题不需要我们去担心。在构建AspNetCore项目时,将会在Program类中根据预配置的默认值加入配置服务。

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>();});}

按照以下顺序为应用提供默认配置(从最高优先级到最低优先级):

(1)使用命令行配置提供程序通过命令行参数提供。
(2)使用非前缀环境变量配置提供程序通过非前缀环境变量提供。
(3)应用在 环境中运行时的用户机密。
(4)使用 JSON 配置提供程序通过 appsettings.{Environment}.json 提供。 例如,appsettings.Production.json 和 appsettings.Development.json。
(5)使用 JSON 配置提供程序通过 appsettings.json 提供。

这意味着,多个配置源中存在同样的key 节点时,会按照配置的优先级别覆盖。
如在开发环境中,appsettings.Development.json 配置会覆盖在 appsettings.json 中找到的值。因为级别大于4

3 配置数据结构与读取配置数据

真实项目中涉及的配置大都具有一个结构化的层次结构,所以在配置模型中的Configuration对象同样具有这样的结构。尽管数据源不同,但是经过ConfigurationBuilder处理后,配置信息将以统一的配置树的逻辑结构进行存储。

而一个Configuration对象表示的是组成这棵配置树的某个节点,这棵配置树则可以通过作为根节点的Configuration对象来体现。体现为键值对的原子配置项一般至存在于作为叶子节点的Configuration对象中,非叶子节点的Configuration包含一组子节点,而每个子节点同样是一个Configuration对象。

在这里插入图片描述

配置信息逻辑上以树形结构存储,实际在内存中是以字典【Dictionary】键值对的形式存储。Key是每个配置项所在配置节在配置树中的路径,路径采用冒号(“:”)进行分割。 以appsettings.json 为例,可通过configuration[key]取出配置的信息

{"Logging": {"LogLevel": {"Default": "Information","Microsoft": "Warning","Microsoft.Hosting.Lifetime": "Information"}},"AllowedHosts": "*"
}
//注入配置服务IConfigurationpublic void Configure(IApplicationBuilder app, IWebHostEnvironment env,IConfiguration configuration){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseRouting();app.UseEndpoints(endpoints =>{endpoints.MapGet("/", async context =>{//浏览器读取json文档中的配置数据并输出: //key 为节点所在数的路径,以" :"作为分隔符await context.Response.WriteAsync(configuration["Logging:LogLevel:Default"].ToString()+"\n");await context.Response.WriteAsync(configuration["Logging:LogLevel:Microsoft.Hosting.Lifetime"].ToString()+"\n");await context.Response.WriteAsync(configuration["AllowedHosts"].ToString()+"\n");});});}

4 配置与环境

根据AspNetCore默认值设置的配置优先级可知,配置文件的读取还与系统的环境有关。并且,在实际开发中会根据环境变量的不同设置不同的配置信息。所以环境的设置是很重要的。

在AspNetCore 中,在开发状态时,可以根据launchSettings.json 文件来设定加载的环境
在这里插入图片描述
也可以设置本地系统环境变量
在这里插入图片描述
通常可设定的环境值有 Developmet 、Production、Staging。而在项目发布后,通常为了程式的安全性能,默认读取的是Production的环境。不能通过修改launchSettings.json文件来决定发布后项目的环境值。

http://www.ysxn.cn/news/3352.html

相关文章:

  • 网站上门备案加盟
  • 长春做网站选长春万网账户竞价托管费用
  • 深圳企业网站建设服务sem招聘
  • 个人建站网站自媒体运营主要做什么
  • 微站直播平台全媒体运营师报考官网在哪里
  • 网站怎么做json数据库什么关键词可以搜到那种
  • 公司建设网站的好处百度客服24小时人工服务
  • 邢台网站改版怎么开发手机百度seo快速排名
  • 天津滨海新区疫情最新通知seo算法入门教程
  • 云南旅游网站建设公司网站的优化seo
  • 设计开发上海网站设计开发公司乔拓云智能建站系统
  • 广西网站建设公司哪家好海外发布新闻
  • 做网站的技巧怎么做互联网推广
  • 网站的404如何做网络营销推广外包服务
  • 搜索引擎网站盈利模式厦门seo优
  • 什么学历可以进中建百度搜索结果优化
  • 自动优化网站建设西安百度框架户
  • 购物网站 wordpress 英文模板营销平台是什么意思
  • 网站建设基本流程包括哪几个社交媒体营销案例
  • 营销型网站建设多少钱哪里有网页设计公司
  • 国际顶级中文域名注册北京seo排名技术
  • 义安区住房和城乡建设局建网站公司网页怎么做
  • 视频资源的网站怎么做手机百度如何发布作品
  • 帝国网站程序独立站seo搜索优化
  • 网站收费怎么做seo网站推广价格
  • 网站维护费怎么做分录seo站内优化
  • 邢台建设专业网站网络推广方案七步法
  • 长沙网站开发培训百度网盘登录首页
  • 网站建设印花税税率全网整合营销推广方案
  • 响应式网站生成购买域名的网站