在.NET Core控制臺(tái)應(yīng)用程序中使用強(qiáng)類型配置
想象一下,你寫(xiě)一個(gè)控制臺(tái)應(yīng)用程序,你想要從配置文件中以強(qiáng)類型方式讀取配置。
.NET Core 可以幫助我們解決。 通常我會(huì)在ASP.NET Core MVC中演示,但簡(jiǎn)單起見(jiàn),只在控制臺(tái)應(yīng)用程序中演示。
讓我們創(chuàng)建兩個(gè)配置類,用于保存應(yīng)用程序和模塊名稱。
public class MySettings { public string ApplicationName { get; set; } } public class MyModuleSettings { public string ModuleName { get; set; } }
應(yīng)用程序配置文件如下所示:
{ "ApplicationName": "My sample application", "SectionA": { "ModuleName": "My sample module" } }
最后,讓我們?cè)趹?yīng)用程序中使用它。
public class Program { public static void Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddEnvironmentVariables(); IConfigurationRoot configuration = builder.Build(); var settings = new MySettings(); configuration.Bind(settings); var moduleSettings = new MyModuleSettings(); configuration.GetSection("SectionA").Bind(moduleSettings); Console.WriteLine($"My application name is '{settings.ApplicationName}'"); Console.WriteLine($"My module name is '{moduleSettings.ModuleName}'"); Console.ReadLine(); } }
所有的實(shí)現(xiàn)都是通過(guò)“Bind”方法。
不要忘記添加所需的依賴關(guān)系。 project.json應(yīng)該包含以下內(nèi)容:
{ "version": "1.0.0-*", "buildOptions": { "emitEntryPoint": true }, "dependencies": { "Microsoft.Extensions.Configuration": "1.1.0", "Microsoft.Extensions.Configuration.Binder": "1.1.0", "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0", "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0", "Microsoft.Extensions.Configuration.Json": "1.1.0", "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.1" } }, "frameworks": { "netcoreapp1.0": { "imports": "dnxcore50" } } }
運(yùn)行結(jié)果:

在.NET Core應(yīng)用程序中使用強(qiáng)類型配置類非常容易!希望本文對(duì)你有所幫助~。
作者:smallprogram
感謝您的閱讀。喜歡的、有用的就請(qǐng)大哥大嫂們高抬貴手"推薦一下"吧!你的精神支持是博主強(qiáng)大的寫(xiě)作動(dòng)力。歡迎轉(zhuǎn)載!另外,文章在表述和代碼方面如有不妥之處,歡迎批評(píng)指正。留下你的腳印,歡迎評(píng)論!

浙公網(wǎng)安備 33010602011771號(hào)