.net core之应用配置、多环境配置、日志与路由
一、获取配置内容appsetting.json
1.构造函数注入
构造函数里注入Iconfigguration config;
2.通用方式
- var str=config[“ConnecttionString”];
- 获取下一级:var str=config[“ConnecttionString:title”];
3. 绑定配置模型对象
使用config.Bind(appsetting)绑定指定类对象
4.注册配置选项服务在ConfigureServices方法里
- 注册 services.Configure(config);
- 使用 方法里依赖注入泛型IOptions appsetting
appsetting.value.ConnecttionString;
5.自定义配置文件读取
- var config = new ConfigurationBuilder().AddJsonFile(“jsonConfig.json”).Build();
var name = config[“name”]; - 也可以使用第四步注册为服务
二、多环境配置(约定大于配置)
- 如果将默认名称Development名称改为其它,如Demo,同样在startup里有一个ConfigureDemoServices方法,则不会执行默认的ConfigureServices;
如果是Configure方法则也是相同,其命名为ConfigureDemo - 也可以单独创建StartupDemo类,但需要改Program.cs启动文件
webBuilder.UseStartup(Assembly.GetExecutingAssembly().FullName);//查找程序集完全名称
三、日志组件
1.日志级别
- Trace 记录一些对程序员调试问题有帮助的信息,其中可能包含一些敏感信息, 所以应该避免在生产环境中启用Trace日志
- Debug 记录一些在开发和调试阶段有用的短时变量(Short-term usefulness), 所以除非为了临时排除生产环境的故障,开发人员应该尽量避免在生产环境中启用Debug日志
- Information 记录应用程序的一些流程, 例如,记录当前api请求的url
- Warning 记录应用程序中发生的不正常或者未预期的事件信息。这些信息中可能包含错误消息或者错误产生的条件, 例如, 文件未找到
- Error 记录应用程序中某个操作产生的错误和异常信息。
- Critical 记录一些需要立刻修复的问题。例如数据丢失,磁盘空间不足。