DNC读取配置Json文件到类中并在程序使用

ConfigurationBuilder 这个类提供了配置绑定,在dnc中 Program中WebHost提供了默认的绑定(appsettings文件)

如果我们需要加载我们自己的json配置文件怎么处理

 var builder = new ConfigurationBuilder();

这里builder 提供了很多添加的方式

1、第一种:直接添加json文件路径,这里需要注意的json文件地址问题

  builder.AddJsonFile("path").Build();

2、第二种

  builder.Add("IConfigurationSource的实例")
builder.Add(new JsonConfigurationSource { Path = "WebSiteConfig.json", Optional = false, ReloadOnChange = true }).Bind();

配置好了 建立对应的json文件对应的实体模型类

在服务里面配置一下:

services.Configure<WebSiteConfig>(Configuration);//配置

比如数据库连接字符串的配置处理,或者系统中的固定配置,这里我扩展了下 NPoco的服务扩展添加

services.AddNPocoContext(options =>
            {
                options.connectionstring = Configuration.Get<WebSiteConfig>().ConnectionStr;

            });

在系统中业务层或者其他层次怎么来获取这个配置

这里需要用的一个接口IOptions

在服务中添加注入下相关类

services.AddOptions();

比如在我们的测试类中注入相关IOptions的模型类

private IOptions<NPocoDataBaseSetting> _options;
        private IOptions<WebSiteConfig> _website;
        private ITestRepository _testservices;
        private ITransaction _transaction;
        public TestServices(IServiceProvider serviceProvider, IOptions<NPocoDataBaseSetting> options, ITransaction transaction, IOptions<WebSiteConfig> website, ITestRepository testservices)
        {
            _options = options;
            _testservices = testservices;
            _transaction = transaction;
            _website = website;
        }

如:

IOptions<WebSiteConfig> _website ,我们可以通过
  /// <summary>
        /// 测试获取数据
        /// </summary>
        /// <returns></returns>
        public List<Test> getdata()
        {
            string webname = _website.Value.WebName;
            List<Test> list = new List<Test>();
            try
            {
                _transaction.Begin();

                list = _testservices.test();
                _transaction.Commit();

            }
            catch (Exception)
            {
                _transaction.RollBack();

            }
            return list;

        }

获取到webname,这里值得注意的json文件中文乱码问题,要确定好json文件的编码类型 UTF-8

 

原文地址:https://www.cnblogs.com/liyouming/p/8856682.html

时间: 2024-08-22 00:40:47

DNC读取配置Json文件到类中并在程序使用的相关文章

c# unity 读取配置json文件

using System; using LitJson; string configStr; void Start() { ArrayList info = LoadFile(Application.dataPath,"config1.txt"); foreach (string strs in info) { configStr += strs; } // string str = @" // { // ""Speed"" : 2 /

使用Physics_Body_Editor获得json文件的类

[转自]:http://www.cocoachina.com/bbs/read.php?tid=209290 工具介绍,json文件获得方法,请参考原帖 MyBodyParser.h 1 // 2 // MyBodyParser.h 3 // 4 // Created by Jason Xu. 5 // 6 // 7 8 #pragma once 9 10 #include <string> 11 #include "cocos2d.h" 12 USING_NS_CC; 1

iOS国家城市选择器 读取本地json文件

最近在做的产品有这么个需求,读取本地json文件中的国家和城市信息,显示到pickerview上,在网上查了一下,发现没有什么合适的可用资源,所以就自己写了一个简单的DEMO. 效果图: 读取本地json的方法如下: + (NSMutableArray *)getCityData { NSArray *jsonArray = [[NSArray alloc]init]; NSData *fileData = [[NSData alloc]init]; NSUserDefaults *UD = [

jQuery中读取本地json文件

json文件是一种轻量级的数据交互格式.一般在jquery中使用getJSON()方法读取,具体示例代码如下,感兴趣的朋友可以参考下哈,希望可以帮助到你 $.getJSON(url,[data],[callback]) url:加载的页面地址 data: 可选项,发送到服务器的数据,格式是key/value callback:可选项,加载成功后执行的回调函数 目录结构: 1.首先建一个JSON格式的文件userinfo.json 保存用户信息. 如下: [ { "name":"

C++简单使用Jsoncpp来读取写入json文件

一.源码编译 C++操作json字符串最好的库应该就是jsoncpp了,开源并且跨平台.它可以从这里下载. 下载后将其解压到任意目录,它默认提供VS2003和VS2010的工程文件,使用VS2010可以直接打开makefiles\msvc2010目录下的sln文件. 工程文件提供Jsoncpp的win32和win64静态库生成.点击生成--批生成选择需要生成的配置后即可生成jsoncpp静态库.生成的文件在makefiles\msvc2010\(x64\)Debug(Release)\目录下.

微信小程序——2、配置json文件

配置文件详解 主配置文件app.json 主配置文件位于主目录中,用于进行全局配置.包括页面文件的路径.窗口表现.设置网络超时时间.设置多tab等 下面通过微信最初自带小程序来学习 { "pages":[ "pages/index/index", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"light", "na

读取本地Json文件

//读取Json文件  地区 //将文件拖到本地  获取json数据 //获取json文件路径 NSString *pathArea=[[NSBundle mainBundle] pathForResource:@"area" ofType:@"json"]; //==Json数据 NSData *dataArea=[NSData dataWithContentsOfFile:pathArea]; //==JsonObject //将data 转换成json数据 N

Web API 返回json文件的2中不用方式

//方法一:直接返回序列化后的json文件 public static HttpResponseMessage ConvertToJson(this Object obj) { String str=""; if (obj is String || obj is Char) { str = obj.ToString(); } else { string json = Newtonsoft.Json.JsonConvert.SerializeObject(obj); } HttpResp

jQuery ajax读取本地json文件

json文件 { "first":[ {"name":"张三","sex":"男"}, {"name":"李四","sex":"男"}, {"name":"王武","sex":"男"}, {"name":"李梅"