zoukankan      html  css  js  c++  java
  • ABP 读取配置文件

    原文:
    https://www.cnblogs.com/lishidefengchen/p/10688312.html

    需求

    以前分部分项是从数据库里面查出来的,现在改为调用另一个项目的接口
    赶时间就尽量微调,速度为主

    百度找到了一篇文章,原以为可以白嫖的,结果我用的位置不一样,我是要在Application层读取配置,不是在web层读

    主要参考的这里

    1、定义接口和初始化

            private readonly IRepository<Project, int> _entityRepository;
            private readonly IHostingEnvironment _env;
            private readonly IConfigurationRoot _appConfiguration;
    
            /// <summary>
            /// 构造函数 
            ///</summary>
            public ProjectAppService(
            IRepository<Project, int> entityRepository
                , IHostingEnvironment env
            )
            {
                _entityRepository = entityRepository;
                _env = env;
                _appConfiguration = GetAppConfiguration(env.ContentRootPath);
            }
    
            private IConfigurationRoot GetAppConfiguration(string path)
            {
                var builder = new ConfigurationBuilder()
                    .SetBasePath(path)
                    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
    
                builder = builder.AddEnvironmentVariables();
    
                return builder.Build();
            }
    

    2、获取配置项里面的url地址

            //获取分部分项树2 for jstree by gxy 2020-2-28 16:08:13
            [Abp.Web.Models.DontWrapResult]
            public List<JsTreeResponseOutput2> GetProjectTrees2(string id)
            {
                //// 访问本地数据库
                //if (string.IsNullOrWhiteSpace(id) || (id == "#"))
                //{
                //    return GetTree();
                //    //return GetThreeRoot();
                //}
                //else
                //{
                //    return GetAllChildren(int.Parse(id));
                //}
    
    
                // 访问远程数据库-兰州中通道质量管理系统
                using (var httpClient = new HttpClient())
                {
                    //var requestUri = "http://localhost:58059/SystemManage/Project/GetProjectsForBIMMP?id=" + id;
                    var requestUri = _appConfiguration["SubSystem:ProjectUrl"] + "?id=" + id;
    
                    var httpResponseMessage = httpClient.GetAsync(requestUri).Result.Content.ReadAsStringAsync().Result;
                    var list = JsonConvert.DeserializeObject<List<JsTreeResponseOutput2>>(httpResponseMessage);
                    return list;
                }
            }
    
  • 相关阅读:
    python读取excel保存到mysql
    python读取mysql返回json
    在C#后台使用MD5值对文件进行加
    使用文件流的形式上传大文件
    IE8兼容性问题
    解决 CentOS 下找不到库文件的问题
    openssl/ossl_typ.h:没有那个文件或目录
    解决 VSCode 进行 C/C++ 开发时 gcc 依赖缺失问题
    VSCode 中进行 C/C++ 开发需要的配置文件
    记一下使用 WeBASE 搭建自己的联盟链过程
  • 原文地址:https://www.cnblogs.com/guxingy/p/13820813.html
Copyright © 2011-2022 走看看