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

网站设计做哪些的wordpress插件 产品

网站设计做哪些的,wordpress插件 产品,越来越多大学生喜欢虚拟空间,网站上怎么做返回主页链接一、前言配置的本质就是字符串的键值对#xff0c;微软的一系列接口其实就是对这些键值对字符串的抽象。二、基本类型2.1、Nuget包Microsoft.Extensions.Configuration.AbstractionsMicrosoft.Extensions.Configuration2.2、抽象接口IConfiguration提供了查询、设置配置项、监… 一、前言配置的本质就是字符串的键值对微软的一系列接口其实就是对这些键值对字符串的抽象。二、基本类型2.1、Nuget包Microsoft.Extensions.Configuration.AbstractionsMicrosoft.Extensions.Configuration2.2、抽象接口IConfiguration提供了查询、设置配置项、监控变化等方法IConfigurationRoot在IConfiguration接口基础上增加了 Reload 方法强制从provider中重新加载配置值IConfigurationSection对配置节点的抽象IConfigurationBuilder根据提供的数据源注册并构建IConfigurationIConfigurationSource对数据源的抽象例如Json、xml、环境变量、内存变量等IConfigurationProvider规定了配置项的获取、设置、重载等统一的行为三、基本配置注各种配置方式的目的是在控制台中输出以下内容如下图3.1、加载内存中的配置需要引入包Microsoft.Extensions.Configuration主要方法builder.AddInMemoryCollection()static void Main(string[] args) {IConfigurationBuilder builder new ConfigurationBuilder();var memoryData new Dictionarystring, string();memoryData.Add(Student:Code, 10002385);memoryData.Add(Student:Name, LiuSan);builder.AddInMemoryCollection(memoryData);IConfigurationRoot configurationRoot builder.Build();IConfigurationSection configurationSection configurationRoot.GetSection(Student);Console.WriteLine($Code:{configurationSection[Code]});Console.WriteLine($Name:{configurationSection[Name]}); Console.Read(); } 3.2、加载环境变量中的配置需要引入包Microsoft.Extensions.Configuration.EnvironmentVariables主要方法builder.AddEnvironmentVariables()环境变量中层级关系使用 __ 代替 :static void Main(string[] args) {IConfigurationBuilder builder new ConfigurationBuilder();builder.AddEnvironmentVariables();IConfigurationRoot configurationRoot builder.Build();IConfigurationSection configurationSection configurationRoot.GetSection(Student);Console.WriteLine($Code:{configurationSection[Code]});Console.WriteLine($Name:{configurationSection[Name]});Console.Read(); } 3.3、加载命令行中的配置需要引入包Microsoft.Extensions.Configuration.CommandLine主要方法builder.AddCommandLine(args)命令行中使用--表示配置项层级关系使用:主要在docker中使用static void Main(string[] args) {IConfigurationBuilder builder new ConfigurationBuilder();builder.AddCommandLine(args);IConfigurationRoot configurationRoot builder.Build();IConfigurationSection configurationSection configurationRoot.GetSection(Student);Console.WriteLine($Code:{configurationSection[Code]});Console.WriteLine($Name:{configurationSection[Name]});Console.Read(); } 3.4、加载Json中的配置需要引入包Microsoft.Extensions.Configuration.Json主要方法builder.AddJsonFile(appsettings.json)static void Main(string[] args) {IConfigurationBuilder builder new ConfigurationBuilder();builder.AddJsonFile(appsettings.json);IConfigurationRoot configurationRoot builder.Build();IConfigurationSection configurationSection configurationRoot.GetSection(Student);Console.WriteLine($Code:{configurationSection[Code]});Console.WriteLine($Name:{configurationSection[Name]});Console.Read(); } 3.5、加载xml中的配置需要引入包Microsoft.Extensions.Configuration.Xml主要方法builder.AddXmlFile(appsettings.xml)xml中不会读取最外层所以Section必需从第二层开始static void Main(string[] args) {IConfigurationBuilder builder new ConfigurationBuilder();builder.AddXmlFile(appsettings.xml);IConfigurationRoot configurationRoot builder.Build();IConfigurationSection configurationSection configurationRoot.GetSection(Student);Console.WriteLine($Code:{configurationSection[Code]});Console.WriteLine($Name:{configurationSection[Name]});Console.Read(); } 四、高级配置4.1、将配置绑定至强对象需要引入包Microsoft.Extensions.Configuration.Binder主要方法configurationRoot.GetSection(Student).Bind(student) class Program{static void Main(string[] args){IConfigurationBuilder builder new ConfigurationBuilder();builder.AddJsonFile(appsettings.json);IConfigurationRoot configurationRoot builder.Build();var student new Student();configurationRoot.GetSection(Student).Bind(student);Console.WriteLine($Code:{student.Code});Console.WriteLine($Name:{student.Name});Console.Read();}}class Student{public string Code { get; set; }public string Name { get; set; }} 4.2、IOptions需要引入包Microsoft.Extensins.Options需要引入包Microsoft.Extensions.Options.ConfigurationExtensions本质其实就是将一个Section配置节点映射到一个实体对象 class Program{static void Main(string[] args){IConfigurationBuilder builder new ConfigurationBuilder();builder.AddJsonFile(appsettings.json);IConfigurationRoot configurationRoot builder.Build();IServiceCollection services new ServiceCollection();services.ConfigureWeixinOptions(configurationRoot.GetSection(WeixinSetting));services.AddScopedIWeixinService, WeixinService();var provider services.BuildServiceProvider();var weixinService provider.GetServiceIWeixinService();string appId weixinService.AppId;string token weixinService.Token;Console.Read();}}interface IWeixinService{string AppId { get; }string Token { get; }}class WeixinService: IWeixinService{IOptionsWeixinOptions _options;public WeixinService(IOptionsWeixinOptions options){_options options;}public string AppId { get _options.Value.AppId; }public string Token { get _options.Value.Token;}}class WeixinOptions{public string AppId { get; set; }public string Token { get; set; }} 4.3、热更新IConfigurationBuilder添加数据源时设置reloadOnChangetrue监听的核心方法var token configurationRoot.GetReloadToken(); static void Main(string[] args){IConfigurationBuilder builder new ConfigurationBuilder();builder.AddJsonFile(appsettings.json, optional:false, reloadOnChange:true);IConfigurationRoot configurationRoot builder.Build();IConfigurationSection configurationSection configurationRoot.GetSection(Student);var token configurationRoot.GetReloadToken();ChangeToken.OnChange(() configurationRoot.GetReloadToken(), () {Console.WriteLine(配置发生改变了...);Console.WriteLine($Code:{configurationSection[Code]});Console.WriteLine($Name:{configurationSection[Name]});}); Console.Read();} 五、总结配置就是key-value键值对字符串IConfiguration和IConfigurationRoot是对键值对的抽象IConfigurationBuilder用于构建IConfiguration和IConfigurationRootIConfigurationSource是对数据源的抽象IConfigurationProvider将不同来源的IConfigurationSource 转为统一的模型IOptions方便将不同的配置节点(Path)映射为对应的强类型对象IConfigurationBuilder添加多个数据源IConfigurationSource后如果key重名则以最后一个配置为准(覆盖前面)
http://www.pierceye.com/news/357931/

相关文章:

  • 五莲县网站建设wordpress去掉链接中的吗
  • 贡井区建设局网站建网是什么
  • 高端大气网站模板南京网站制作西安
  • wordpress站点标题和副标题网站内容要突出什么原因
  • 网站建设公司排行杭州wordpress站外链接跳转页面
  • 哪个网站可以做行程攻略哈尔滨市建设工程招标网
  • django网站开发实例望城建设局网站
  • 住房和城乡建设网站方案网页界面设计的网络系统有哪些
  • 自己做的网站怎么设置文件下载商城app搭建
  • 好看的网站分享查域名注册详细信息查询
  • 中山网站建设招聘宜宾seo快速排名
  • 网站制作 福宁网络有限公司单页网站seo优化
  • 增城做网站站长之家域名查询大全
  • 个人网站建设报价做游戏出租的网站好
  • 珠海网站建设公司哪家好织梦网站怎么做下载地址
  • 西安商城网站建设公司宁夏住宅建设发展公司网站
  • 网站建设实现用户登录济南网站建设找老兵
  • 做网站还挣钱吗成都网站设计策划免费
  • 阿里云服务器怎么放网站百度开户渠道商哪里找
  • 网赢天下深圳网站建设建设一个小说网站
  • 北湖区网站建设哪家好什么做网站的公司好
  • 做司法亲子鉴定网站专业设计服务网站
  • 网站建设排序题wordpress菜单左对齐
  • 太原网站建设方案维护北京网站建设东轩seo
  • 网站弹屏广告怎么做的自适应网站建设特点
  • 有一个网站专门做民宿做数据可视化图的网站
  • 手机产品 网站建设网站建设费怎么记账
  • 网站页面设计好了后台如何添加构建平台还是搭建平台
  • 公司展示类网站模板中国校园网站做的比较好的学校
  • 锡山建设局网站白云做网站的公