购物网站开发的背景介绍,动漫制作技术专业常识,网站代理 正规备案,家在深圳光明业主论坛配置文件#xff0c;是一个每个应用服务程序常用的功能#xff0c;从原来的终端应用时代#xff0c;到现在的元宇宙时代#xff0c;配置都是很悠然自得的存在。asp.net core提供了强大的配置文件访问机制#xff0c;不管是MVC API还是MiniAPI#xff0c;使用方式都是相同… 配置文件是一个每个应用服务程序常用的功能从原来的终端应用时代到现在的元宇宙时代配置都是很悠然自得的存在。asp.net core提供了强大的配置文件访问机制不管是MVC API还是MiniAPI使用方式都是相同的。框架默认的配置文件是appsettings.json可以以json的格式存放自己复杂的配置:{Logging: {LogLevel: {Default: Information,Microsoft.AspNetCore: Warning}},AllowedHosts: *,ConnectionStrings: {ExamDatabase: server.;databaseExam;uidsa;pwdsa;},AppInfo: {Name: Mini Powerful,Version: v1.0.0,Author: {Architect: 桂素伟-A,Programmer: 桂素伟-P,Designer: 桂素伟-D},Features: [ Learn MiniAPI, Architect Element ]}
}简单取值var architect builder.Configuration.GetSection(AppInfo:Author:Architect).Value;
var features1builder.Configuration.GetSection(AppInfo:Features:1).Value;用record绑定recordpublic record AppInfoRecord(string? Name, string? Version, AuthorRecord? Author, string[]? Features);
public record AuthorRecord(string? Architect, string? Programmer, string? Designer);绑定var authorRecord new AuthorRecord(null, null, null);
var appInfoRecord new AppInfoRecord(null, null, authorRecord, null);
builder.Configuration.GetSection(AppInfo).Bind(appInfoRecord);结果用class绑定classpublic class AppInfo
{public string? Name { get; set; }public string? Version { get; set; }public Author? Author { get; set; }public string[]? Features { get; set; }
}
public class Author
{public string? Architect { get; set; }public string? Programmer { get; set; }public string? Designer { get; set; }
}绑定var appInfo new AppInfo();
builder.Configuration.GetSection(AppInfo).Bind(appInfo);结果用record和class绑定各有优势record定义的时间代码简单绑定要复杂一些class正好相反定义要复杂一些绑定时简单。从IConfiguration中获取配置可以在路由方法中获取配置信息app.MapGet(/getappinfo, (IConfiguration config)
{return config.GetSection(AppInfo:Name).Value;
});从路由中取配置文件首选注入var authorRecord new AuthorRecord(null, null, null);
var appInfoRecord new AppInfoRecord(null, null, authorRecord, null);
builder.Configuration.GetSection(AppInfo).Bind(appInfoRecord);
builder.Services.AddSingleton(appInfoRecord);取配置数据app.MapGet(/appinfo, (AppInfoRecord appinfo)
{return appinfo;
});结果读取其他格式的配置文件myconfig.ini[iniconfig]
key1value1
key2value2加载配置文件并取值builder.Host.ConfigureAppConfiguration((hostingContext, config)
{config.AddIniFile(myconfig.ini,optional: true,reloadOnChange: true);
});var key1builder.Configuration.GetSection(iniconfig:key1).Value;