当前位置: 首页 > news >正文

vs2013可以做网站么网站从哪几个方面维护

vs2013可以做网站么,网站从哪几个方面维护,长春房产网 房小二,室内设计培训老版Abp对Castle的严重依赖在vnext中已经得到了解决,vnext中DI容器可以任意更换,为了实现这个功能,底层架构相较于老版abp,可以说是进行了高度重构.当然这得益于.Net Core的DI容器组件本身的优势.接着abp vnext2.0核心组件之模块加载组件源码解析 上文,上文中我跳过了DI切换这个… 老版Abp对Castle的严重依赖在vnext中已经得到了解决,vnext中DI容器可以任意更换,为了实现这个功能,底层架构相较于老版abp,可以说是进行了高度重构.当然这得益于.Net Core的DI容器组件本身的优势.接着abp vnext2.0核心组件之模块加载组件源码解析 上文,上文中我跳过了DI切换这个流程,因为我觉得这是整个框架的亮点之一,所以单独写了这篇随笔. .Net Core2.2之后,切换DI的实现换了,改成实现如下接口 1、核心ServiceProviderFactory接口实现核心原理非常的简单,看看vnext如何实现这个工厂约束接口,并返回指定provider. 大致的逻辑是传入ServiceCollection,遍历ServiceCollection使用autofac的containerbuilder进行注入.最后调用containerbuilder实例的builder的build方法,返回provider.一气呵成,很简单.接着,重点来了,看看Populate方法,看看其如何将ServiceCollection中的类型注入autofac容器的.先将原生DI的相关功能转换成Autofac的,接着进行类型注册. 第一步获取模块加载类型中所有的模块,模块信息如下:第二步释出DI容器中的ServiceRegistrationActionList,这个list非常重要.在DI默认容器转中的类型注入Autofac容器时,会遍历所有类型,并将类型的类型和实现生成上下文,传递给指定的action,实现代码如下: 看看vnext的示例代码如下:  简单的工作单元.介绍了ServiceRegistrationActionList之后,接着看如下代码:  遍历所有的services集合,根据注入的方式和注入类型的差异进行区分,并注入到Autofac的ContainerBuilder中.代码很简单,挑个重点说下,如下: 红框中的第一行,代码如下: 如果当前类型所在的程序集属于应用程序集,不是与第三方程序集,则启动属性注入反射的方式.红框中的第二行就是上面介绍的遍历所有类型,生成上下文,并执行DI中注入的ServiceRegistrationActionList中的action,这里注意拦截器的注入,如下:在执行完所有的Action之后,其中有部分Action,如下:  是向上下文中的拦截器集合追加拦截器的,所以当所有的action执行完毕之后,所有的拦截器也被写入到了拦截器集合中.下一步初始化拦截器。如下: 这边后续会写一篇随笔,专门介绍vnext中的拦截器的机制.涉及到另一个组件.本文就不介绍了.不是本文的重点.顺便提一句 有能力的可以做一下这个todo.ok,到这里所有的默认DI中的类型集合全部注入到了autofac中,并且完成了拦截器的初始化和应用程序框架的自动属性注入功能.整个Populate方法执行完毕.AbpAutofacServiceProviderFactory的CreateBuilder方法也就结束了.最终将默认DI中的类型集合(IServiceCollection)转换成Autofac中的ContainerBuilder接着看看CreateServiceProvider方法如下: 看看AutofacServiceProvider的构造,如下: 具体参考源码,实现了默认DI的获取Services接口。所以你可以继续用默认DI提供的方法,但是此时DI已被切换成了Autofac. 2、模块加载系统如何与之配合接下去看看vnext的模块加载系统如何配合AbpAutofacServiceProviderFactory完成DI切换第一步需要注入Autofac服务.在注入核心的工厂服务后,且整个vnext框架的类型全部注入到默认DI中,那么需要触发核心工厂服务的相关方法如下:继续观察ServiceCollectionCommonExtensions类下面的BuildServiceProviderFromFactory,如下 直接调用核心的工厂服务的CreateBuilder方法,这样所有默认DI中的类型全部注入到了autofac的容器中.并且切换默认DI容器到了autofac.替换默认DI的核心接口实现如下: 最后需要将模块加载系统中预先注入的ServiceProvider替换成核心的工厂服务的CreateBuilder方法执行后生成的ServiceProvider. ok,整个DI切换流程到这里结束.abp团队的实现很简洁.如果你需要扩展其他的DI容器,可以参照他们的实现. 纯属个人理解,能力有限,有问题请指正!
http://www.zqtcl.cn/news/75249/

相关文章:

  • 高端网络建站上海人力资源招聘官网
  • 文字堆积网站类似wordpress的网站
  • 平面设计主要做什么内容丹东seo排名公司
  • 西安西工大软件园做网站的公司湖南做网站 在线磐石网络
  • 如何用python做网站渭南网站建设远景
  • 网站 建设开发合作协议众包网站开发
  • 效果营销型网站建设陕西百度推广的代理商
  • 西安网站建设最新案例wordpress 动态插件
  • 网站开发培训哪家好wordpress破图
  • 高中网站制作门户网站开发需要多少钱
  • 池州市建设工程质量安全监督局网站备案网站多长时间
  • 四川省住房和城乡建设厅网站域名哪家做企业网站
  • 医学招聘网站开发区沛县网站建设
  • 网络系统设计wordpress 链接优化插件
  • 网站模板下载破解版网件路由器重置
  • 怎么做微信电影网站网站建设 架构
  • 武进网站建设多少钱wordpress更改链接后网站打不开
  • 网站建设费用计入哪个会计科目沈阳快速建站公司有哪些
  • 北京好的建站团队市场营销方案500字
  • 创建网站的步骤是wordpress 国内广告
  • 湖州童装网站企业网络推广平台
  • 企业建网站报价做网站是通过怎么挣钱
  • 做设备推广的网站云南建站推广
  • 河南城乡和住房建设厅网站张家界互联网公司有哪几家
  • 丰台做网站wordpress评论头像插件
  • 广州网站搭建费用抖音挂小程序怎么赚钱
  • 啥是深圳网站定制开发大庆工程建设公司网站
  • 组织部信息化建设官方网站2022免费ppt模板
  • 晋城哪里有做网站的喜欢网站建设学什么专业
  • 网站无法排版东莞网络优化公司排名