.net core学习备忘录一

一、依赖注入
1、依赖倒置原则:一是高层模块不依赖底层模块,都依赖抽象;二是抽象不依赖细节;三是细节依赖抽象
2、服务注册:servicecollection (管理对象的引用关系),addsingleton/addtransient/addscoped(注册服务),buildserviceprovider(获取serviceprovider).getservice(获取实例),getrequiredservice(若服务不可用,抛出invalidoperationexception异常)
3、三种生命周期:singleton(单例,一个应用程序只创建一次),transient(瞬态,每个方法调用周期内创建一次),scoped(作用域,每个HTTP请求期间创建一次)
二、配置与选项
ioptions:单例模式,不能热载
ioptionsMonitor:单例模式,能热载
ioptionssnapshot:作用域模式,能热载
三、中间件
1、自定义中间件:构造函数包含RequestDelegate参数,返回类型为Task的invoke 或invokeasync 方法(参数为httpcontext,调用next()方法执行后续中间件)
2、app.useMiddleware():注册中间件
3、过滤器中间件: 创建包含无参构造函数,具备Configure公共方法(参数为Iapplicationbuilder,方法中注册中间件)的对象,通过MiddlewareFilterAttribute.属性注册对象
4、app.run:将中间件添加到管道,终结中间件
5、app.use:将中间件添加到管道 ,执行完毕,不终止请求 ,继续调用后续中间件
6、app.map:映射到路径上,并为该路径指定独立的执行管道。
7、app.mapwhen():定义一个条件,判断是否进入指定管道。不在主管道执行。
8、app.usewhen():定义一个条件,判断是否进入指定管道。并加入主管道
四、线程同步机制和锁
1、原子操作:不能被分割的操作,不会因为任务的调度等原因被打断而影响执行结果。 如interlocked类。
2、mutex:互斥锁,waitone(阻塞线程),releasemutex(释放资源)
3、信号量:限制共享资源并发访问的线程。semaphore(线程安全的情况下,并发执行)
4、readwriterlock:读写锁,允许多个线程同时读取锁,但只允许一个线程写锁。
五、垃圾回收器
1、垃圾回收器包含:标记阶段,计划阶段,重定位阶段,清扫阶段,压缩阶段
2、代:按对象存活的时间进行划分,分为第0代(生命周期较短的对象),第1代,第2代,垃圾回收器算法基于代,每一代都保存一定“范围内”的对象

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值