怎么在.Net Core庫類項(xiàng)目中跨項(xiàng)目讀取配置文件?很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
在項(xiàng)目開始之前我們可以先去了解一下IConfiguration接口,.Net Core Web應(yīng)用程序類似于一個(gè)控制臺(tái),當(dāng)程序運(yùn)行到Startup時(shí)會(huì)自動(dòng)注入IConfiguration,默認(rèn)讀取當(dāng)前.Net Core Web應(yīng)用程序中的appsettings.json文件。讀取當(dāng)前.Net Core Web應(yīng)用程序的配置文件可以自動(dòng)直接注入,但如果我們需要使另一個(gè)類庫項(xiàng)目讀取到指定.Net Core Web應(yīng)用程序中的配置文件,需要怎么做?憑借Asp.Net Core無處不在的“依賴注入”,我們可以在Startup執(zhí)行時(shí)將讀取的配置信息注入到類庫項(xiàng)目中,之后我們可以愉快的使用配置信息了
新建一個(gè).Net Core的類庫項(xiàng)目和.Net Core Web應(yīng)用程序,修改Web應(yīng)用程序中的appsettings.json文件加入數(shù)據(jù)庫連接字符串用于之后的試驗(yàn)。
{ "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的類庫項(xiàng)目中新建一個(gè)靜態(tài)類:ConfigurationHelper.cs
使用IConfiguration接口需要添加依賴項(xiàng):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; } /// <summary> /// 根據(jù)配置文件鍵讀取對應(yīng)的值 /// </summary> /// <param name="Key"></param> /// <returns></returns> public static string GetConfigValueByKey(string Key) { var value = _config[Key]; return value; } } }
創(chuàng)建一個(gè)靜態(tài)字段_config用來存儲(chǔ)配置信息,同時(shí)定義一個(gè)靜態(tài)方式通過配置文件的鍵值獲取對應(yīng)的值。
.Net Core的類庫項(xiàng)目中新建一個(gè)靜態(tài)類:Utilconfig.cs
創(chuàng)建一個(gè)只讀靜態(tài)字段OracleConnectionString存儲(chǔ)根據(jù)鍵值獲得的配置文件的值
namespace Read_Configuration_File { public static class UtilConfig { public static string OracleConnectionString => ConfigurationHelper.GetConfigValueByKey("WebConfig:OracleConnectionString") == null ? "" : string.Format(ConfigurationHelper.GetConfigValueByKey("WebConfig:OracleConnectionString")); } }
最關(guān)鍵的一步,修改.Net Core Web應(yīng)用程序中的Startup.cs
我們需要將配置信息注入到類庫項(xiàng)目,需要使用ConfiurationHelper類下的靜態(tài)方法。在創(chuàng)建的.Net Core Web應(yīng)用程序的Startup文件中調(diào)用Configure方法,使用前不要忘了先引用類庫項(xiàng)目
到這里為止,我們可以調(diào)用靜態(tài)類UtilConfig中的靜態(tài)只讀字段OracleConnectionString愉快的使用.Net Core Web應(yīng)用程序的配置信息。
接下來我們來驗(yàn)證一下項(xiàng)目是否成功
在.Net Core庫類項(xiàng)目中新建一個(gè)類:ConnectionRead
創(chuàng)建一個(gè)靜態(tài)方法GetConnectionStr()返回獲取到的配置文件信息
namespace Read_Configuration_File { public class ConnectionRead { /// <summary> /// 定義一個(gè)靜態(tài)方法獲取連接字符串 /// </summary> /// <returns></returns> public static string GetConnectionStr() { var connStr = UtilConfig.OracleConnectionString; return connStr; } } }
項(xiàng)目結(jié)構(gòu)
在.Net Core Web項(xiàng)目中的HomeController主頁中調(diào)用這個(gè)靜態(tài)方法,如果能正確讀取到配置文件的值,那項(xiàng)目就成功了
修改一下主頁
執(zhí)行文件我們可以發(fā)現(xiàn)主頁上顯示了我們想要讀取的數(shù)據(jù)庫連接的配置信息。Nice!成功
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。
文章標(biāo)題:怎么在.NetCore庫類項(xiàng)目中跨項(xiàng)目讀取配置文件-創(chuàng)新互聯(lián)
本文來源:http://chinadenli.net/article24/dgjcce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、定制網(wǎng)站、網(wǎng)站維護(hù)、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容