首页 技术 正文
技术 2022年11月23日
0 收藏 839 点赞 3,087 浏览 1508 个字

想象一下,你写一个控制台应用程序,你想要从配置文件中以强类型方式读取配置。

.NET Core 可以帮助我们解决。 通常我会在ASP.NET Core MVC中演示,但简单起见,只在控制台应用程序中演示。

让我们创建两个配置类,用于保存应用程序和模块名称。

public class MySettings
{
public string ApplicationName { get; set; }
}public class MyModuleSettings
{
public string ModuleName { get; set; }
}

应用程序配置文件如下所示:

{
"ApplicationName": "My sample application", "SectionA": {
"ModuleName": "My sample module"
}
}

最后,让我们在应用程序中使用它。

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();
}
}

所有的实现都是通过“Bind”方法。

不要忘记添加所需的依赖关系。 project.json应该包含以下内容:

{
"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"
}
}
}

运行结果:

在.NET Core应用程序中使用强类型配置类非常容易!希望本文对你有所帮助~。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,951
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,477
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,290
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,107
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,739
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,773