• 2023-12-03.NET8 依赖注入
    依赖注入(DependencyInjection,简称DI)是一种设计模式,用于解耦组件(服务)之间的依赖关系。它通过将依赖关系的创建和管理交给外部容器来实现,而不是在组件(服务)内部直接创建依赖对象。​ 咱就是通过IServiceCollection和IServiceProvider来实现的,他们直接被收入到了runtimelibrari
  • 2023-07-06NLog配置文件变量
    ${basedir}:应用程序当前目录${shortdate}:短日期【2022-01-06】${longdate}:长日期【2022-01-0614:05:20.4023】${logger}:记录器的名字${event-properties:FileName}:自定义属性${level}:记录等级【Trace,Debug,Info,Warn,Error,Fatal】${uppercase}:转大写${message}:调用Nlog
  • 2023-06-28.net core IOC容器实现(三)--CallSite
    接着上面一节,这一节主要来看看callSite是如何生成的CallSite是通过CallSiteFactory.GetCallSite(TypeserviceType,CallSiteChaincallSiteChain)生成的,CallSiteFactory是在ServiceProvider里实例化的。代码如下privatereadonlyConcurrentDictionary<ServiceCacheKey,
  • 2023-06-21.net core IOC容器实现(二) -- GetService
    使用IOC容器最重要的两个步骤就是注入服务和从容器内获取服务实例。上一节聊的ServiceDescriptor其实就可以看成注入服务的步骤,这一节初步聊一聊获取服务实例的相关源码。GetServiceGetService方法是获取服务实例的入口,位于ServiceProvider这个类中publicobject?GetServ
  • 2022-12-30LambdaMetafactory
    backgroundknowledgeCallSite,aholderofMethodHandler,whichiscalleditstarget.FieldDescriptors:https://docs.oracle.com/javase/specs/jvms/se17/html/j
  • 2022-10-17细聊.Net Core中IServiceScope的工作方式
    前言    自从.NetCore引入IOC相关的体系之后,关于它的讨论就从来没有停止过,因为它是.NetCore体系的底层框架,你只要使用了.NetCore的时候就必然会用到它。当然关于使