摘要: Net6 DI生命周期 阅读全文
posted @ 2022-02-10 09:14 一身大膘 阅读(438) 评论(0) 推荐(1) 编辑
摘要: NetCore文件上传两种方式 NetCore官方给出的两种文件上传方式分别为“缓冲”、“流式”。我简单的说说两种的区别, 1.缓冲:通过模型绑定先把整个文件保存到内存,然后我们通过IFormFile得到stream,优点是效率高,缺点对内存要求大。文件不宜过大。 2.流式处理:直接读取请求体装载后 阅读全文
posted @ 2019-11-22 09:35 一身大膘 阅读(6285) 评论(8) 推荐(20) 编辑
摘要: 配置源的同步 IOptionsMonitor 使用 //以下demo演示使用IOptionsMonitor重新加载配置并当重新加载配置是执行回调函数 var configuration = new ConfigurationBuilder().AddJsonFile(path: "profile.j 阅读全文
posted @ 2022-03-22 09:28 一身大膘 阅读(403) 评论(0) 推荐(0) 编辑
摘要: Net6 Configuration & Options 源码分析 Part2 Options 第二部分主要记录Options 模型 OptionsConfigurationServiceCollectionExtensions类提供了对Options 模型与配置系统的Configure方法的扩展 阅读全文
posted @ 2022-03-21 09:20 一身大膘 阅读(805) 评论(0) 推荐(1) 编辑
摘要: Net6 Configuration & Options 源码分析 Part1 在Net6中配置系统一共由两个部分组成Options 模型与配置系统.它们是两个完全独立的系统。 第一部分主要记录配置系统 下面演示的几个实例具有一个共同的特征( 1. 将配置绑定为Options对象),即都采用配置系统 阅读全文
posted @ 2022-03-17 11:58 一身大膘 阅读(1517) 评论(1) 推荐(3) 编辑
摘要: [CLR]委托 Delegate 回调函数 非托管程序回调函数 在非托管c/c++中非成员函数值是一个内存地址,这个地址不携带任何信息比如函数的参数 返回值。参数类型。 托管程序回调函数-委托 委托就是c#内的回调函数,它是类型安全的 能定义类的地方都能定义委托。 包装器 委托对象是回调方法的一个包 阅读全文
posted @ 2022-02-22 09:13 一身大膘 阅读(462) 评论(0) 推荐(1) 编辑
摘要: Net6 CallSiteFactory ServiceCallSite, CallSiteChain abstract class ServiceCallSite ServiceCallSite是个抽象类,实现ConstantCallSite、ConstructorCallSite、 Factor 阅读全文
posted @ 2022-02-11 16:59 一身大膘 阅读(201) 评论(0) 推荐(1) 编辑
摘要: CallSiteRuntimeResolver CallSiteRuntimeResolver是实现了CallSiteVisitor之一。 提供的方法主要分三个部分 自有成员方法 Resolve提供服务 VisitCache 私有构造函数 重写父类方法 VisitDisposeCache(Servi 阅读全文
posted @ 2022-02-11 10:51 一身大膘 阅读(269) 评论(0) 推荐(1) 编辑
摘要: ServiceCollection、ServiceDescriptor、ServiceLifetime、IServiceProvider Microsoft.Extensions.DependencyInjection.Abstractions Microsoft.Extensions.Depend 阅读全文
posted @ 2022-02-10 17:08 一身大膘 阅读(1490) 评论(0) 推荐(4) 编辑
摘要: ServiceProvider ServiceProvider是对IServiceProvider实现,它有一个internal的访问修饰符描述的构造,并需要两个参数IServiceCollection & ServiceProviderOptions。所以可以通过 ServiceCollectio 阅读全文
posted @ 2022-02-09 18:00 一身大膘 阅读(512) 评论(0) 推荐(0) 编辑