随笔分类 -  NET Core开发实战笔记

摘要:一、三种验证方法 1.直接注册验证函数 services.AddOptions<OrderServiceOptions>().Configure(options => { configuration.Bind(options); }).Validate(options => options.MaxO 阅读全文
posted @ 2020-04-07 16:31 前线码农 阅读(328) 评论(0) 推荐(1)
摘要:一、关键类型 IOptionsMonitor<out TOptions> //服务注册services.AddSingleton时使用 IOptionsSnapshot<out TOptions> //服务注册services.AddScoped 时使用 二、IOptionsSnapshot 方式 阅读全文
posted @ 2020-04-07 15:03 前线码农 阅读(258) 评论(0) 推荐(1)
摘要:一、特性 支持单例模式读取配置 支持快照 支持配置变更通知 支持运行时动态修改选项值 二、设计原则 接口分离原则 (ISP) ,我们的类不应该依赖它不使用的配置 关注点分离 (SoC),不同组件、服务、类之间的配置不应相互依赖或耦合 三、建议 为我们的服务设计 XXXOptions 使用 IOpti 阅读全文
posted @ 2020-04-07 13:44 前线码农 阅读(207) 评论(0) 推荐(1)
摘要:一、扩展步骤 1.实现 IConfigurationProvider class MyConfigurationProvider : ConfigurationProvider { Timer timer; public MyConfigurationProvider() : base() { ti 阅读全文
posted @ 2020-04-07 13:12 前线码农 阅读(444) 评论(0) 推荐(1)
摘要:一、文件变更的监听事件 var builder = new ConfigurationBuilder(); builder.AddJsonFile("appsettings.json",false,true); var configurationRoot = builder.Build(); //执 阅读全文
posted @ 2020-04-07 10:42 前线码农 阅读(335) 评论(0) 推荐(1)
摘要:一、核心组件包 • Microsoft.Extensions.Configuration. Abstractions • Microsoft.Extensions.Configuration Autofac.Extensions.DependencyInjection Autofac.Extras. 阅读全文
posted @ 2020-04-07 09:57 前线码农 阅读(243) 评论(0) 推荐(0)
摘要:1、释放承载接口:IServiceScope 2、实现 IDisposable 接口类型的释放 • DI 只负责释放由其创建的对象实例 • DI 在容器或子容器释放时,释放由其创建的对象实例 3、建议 • 避免在根容器获取实现了 IDisposable 接口的瞬时服务 • 避免手动创建实现了 IDi 阅读全文
posted @ 2020-04-06 22:44 前线码农 阅读(258) 评论(0) 推荐(1)
摘要:一、组件包 Microsoft.Extensions.DependencyInjection.Abstractions Microsoft.Extensions.DependencyInjection 二、核心类型 IServiceCollection ServiceDescriptor IServ 阅读全文
posted @ 2020-04-06 22:12 前线码农 阅读(801) 评论(0) 推荐(0)