博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net Core库类项目跨项目读取配置文件
阅读量:6886 次
发布时间:2019-06-27

本文共 2614 字,大约阅读时间需要 8 分钟。

在项目开始之前我们可以先去了解一下IConfiguration接口,.Net Core Web应用程序类似于一个控制台,当程序运行到Startup时会自动注入IConfiguration,默认读取当前.Net Core Web应用程序中的appsettings.json文件。读取当前.Net Core Web应用程序的配置文件可以自动直接注入,但如果我们需要使另一个类库项目读取到指定.Net Core Web应用程序中的配置文件,需要怎么做?凭借Asp.Net Core无处不在的“依赖注入”,我们可以在Startup执行时将读取的配置信息注入到类库项目中,之后我们可以愉快的使用配置信息了

新建一个.Net Core的类库项目和.Net Core Web应用程序,修改Web应用程序中的appsettings.json文件加入数据库连接字符串用于之后的试验。

{  "WebConfig": {    "OracleConnectionString": "User Id=fjh;Password=fjh_123;Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = orcl)));Pooling = True;Max Pool Size = 800;Min Pool Size = 1;Connect Timeout=5;"  },  "Logging": {    "LogLevel": {      "Default": "Warning"    }  },  "AllowedHosts": "*"}

.Net Core的类库项目中新建一个静态类:ConfigurationHelper.cs

使用IConfiguration接口需要添加依赖项:Microsoft.Extensions.Configuration

using Microsoft.Extensions.Configuration;namespace Read_Configuration_File{    public class ConfigurationHelper    {        private static IConfiguration _config;        public static void Configure(IConfiguration config)        {            _config = config;        }        ///         /// 根据配置文件键读取对应的值        ///         ///         /// 
public static string GetConfigValueByKey(string Key) { var value = _config[Key]; return value; } }}

创建一个静态字段_config用来存储配置信息,同时定义一个静态方式通过配置文件的键值获取对应的值。

.Net Core的类库项目中新建一个静态类:Utilconfig.cs

创建一个只读静态字段OracleConnectionString存储根据键值获得的配置文件的值

namespace Read_Configuration_File{    public static class UtilConfig    {        public static string OracleConnectionString => ConfigurationHelper.GetConfigValueByKey("WebConfig:OracleConnectionString") == null ? "" : string.Format(ConfigurationHelper.GetConfigValueByKey("WebConfig:OracleConnectionString"));    }}

最关键的一步,修改.Net Core Web应用程序中的Startup.cs

我们需要将配置信息注入到类库项目,需要使用ConfiurationHelper类下的静态方法。在创建的.Net Core Web应用程序的Startup文件中调用Configure方法,使用前不要忘了先引用类库项目

到这里为止,我们可以调用静态类UtilConfig中的静态只读字段OracleConnectionString愉快的使用.Net Core Web应用程序的配置信息。

接下来我们来验证一下项目是否成功

.Net Core库类项目中新建一个类:ConnectionRead

创建一个静态方法GetConnectionStr()返回获取到的配置文件信息

namespace Read_Configuration_File{    public class ConnectionRead    {        ///         /// 定义一个静态方法获取连接字符串        ///         /// 
public static string GetConnectionStr() { var connStr = UtilConfig.OracleConnectionString; return connStr; } }}

项目结构

.Net Core Web项目中的HomeController主页中调用这个静态方法,如果能正确读取到配置文件的值,那项目就成功了

修改一下主页

执行文件我们可以发现主页上显示了我们想要读取的数据库连接的配置信息。Nice!成功

 

转载于:https://www.cnblogs.com/FangKuaiGe/p/10541451.html

你可能感兴趣的文章
JS难点之hoist
查看>>
“独角兽”企业都爱选择腾讯云,背后原因值得考究
查看>>
浅析 Vue 2.6 中的 nextTick 方法
查看>>
199. Binary Tree Right Side View
查看>>
配置SpringBoot方便的切换jar和war
查看>>
2018最佳GAN论文回顾(下)
查看>>
Vue使用element-ui所遇BUG与需求集结(二)
查看>>
弹性公网EIP,让网络更自由、灵活
查看>>
一对一直播源码都实现了哪几种常见的优化技术? ...
查看>>
Unity学习系列一简介
查看>>
利用Python框架pyxxnet_project实现的网络服务
查看>>
一个最简单的WebSocket hello world demo
查看>>
C# 8.0的三个令人兴奋的新特性
查看>>
关于ip_conntrack跟踪连接满导致网络丢包问题的分析
查看>>
烂泥:linux学习之VNC远程控制(一)
查看>>
如何解决Xshell使用时中文字体是躺倒显示的问题
查看>>
Scala函数的定义的几种写法
查看>>
【iphone应用开发】iphone 应用开发之二:UITextView控件的详细讲解
查看>>
HTML5 API摘要
查看>>
去除滚动条的可滚动效果
查看>>