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

三水做网站图案logo设计

三水做网站,图案logo设计,全球网站域名后缀,毕业设计做网站功能实现不出怎么办概述模块化是ABP vNext的最大亮点#xff0c;也是ABP vNext框架的核心#xff0c;而模块类是ABP vNext框架模块化的核心要素。这一章节#xff0c;我就从模块类的用法、运行机制、源代码等层面#xff0c;带大家详细了解ABP vNext的模块类。用法在ABP的约定中#xff0c;每… 概述模块化是ABP vNext的最大亮点也是ABP vNext框架的核心而模块类是ABP vNext框架模块化的核心要素。这一章节我就从模块类的用法、运行机制、源代码等层面带大家详细了解ABP vNext的模块类。用法在ABP的约定中每个项目类库都应该包含一个继承自 AbpModule 的模块类命名规范为【项目名称Module】在模块类中我们可以重写 AbpModule 中的服务配置和应用初始化、服务关闭时的处理方法。ConfigureServices 方法用于在应用正式启动前对应用的服务的参数与依赖注入项进行配置。在 ConfigureServices 方法中我们可以使用 context.Services 中的方法对以来注入进行定义或修改也可以使用  Configure...(); 方法对服务中的指定配置项进行配合。例如public override void ConfigureServices(ServiceConfigurationContext context) {//自定义依赖注入context.Services.AddTransientIUserRepository,UserRepostory();//自定义配置ConfigureAbpClockOptions(options {options.Kind DateTimeKind.Local;}); }同时ABP也提供了异步的服务配置方法 ConfigureServicesAsync 其用法与 ConfigureServices 相同。另外ABP还提供了 PreConfigureServices 和 PostConfigureServices 方法分别在执行 ConfigureServices 前和执行后编写自己的逻辑处理对应的也提供异步方法 PreConfigureServicesAsync 和 PostConfigureServicesAsync 。OnApplicationInitialization 方法在应用初始化时被执行最常见的用途是配置管道模型同时也可以添加一些额外的处理例如添加后台作业、完成服务注册等。同时ABP也提供了异步的服务初始化方法 OnApplicationInitializationAsync 和在其前后的处理 OnPreApplicationInitialization 和 OnPostApplicationInitialization OnApplicationShutdown 方法和其异步方法 OnApplicationShutdownAsync 在程序关闭时被执行可用于释放资源等操作。当一个项目依赖另一个项目时除需要引用该项目外当前项目的模块类需要通过DependOn特性添加对被引用项目的模块类的使用用法如下[DependsOn(typeof(AbpDemoDomainModule),typeof(AbpDemoApplicationContractsModule),... ...)] public class AbpDemoApplicationModule : AbpModule {}运行机制ABP框架项目启动时会从启动项的模块类开始按照模块类中编写的DependOn特性关系及顺序查找所有依赖模块类并形成一个属性结构按树形结构后序遍历算法递归遍历树形成一个模块类的列表递归过程中如果已经加载过的模块类则被忽略。先在列表中遍历执行所有模块类的PreConfigureServices 然后遍历执行所有模块类的 ConfigureServices 之后同样方式执行 PostConfigureServicesAsync 、 OnPreApplicationInitialization 、 OnApplicationInitialization 、 OnPostApplicationInitialization 。后序遍历算法时先从左到右处理所有子节点再处理子根节点的遍历算法。例如在ABP默认到处的框架中依赖关系如下图所示其中HttpApiHost为启动项Web项目结构相同。图中圆圈标记的序号顺序是后续遍历算法中遍历的顺序其中蓝色圆圈表示未添加过该模块类遍历时添加到模块类列表红色圆圈表示已添加过在遍历时不添加。依据图中大家可以看出该项目模块类列表顺序为DomainSharedModule → ApplicationContractsModule → HttpApiModule → DomainModule → ApplicationModule → EntityFrameworkCoreModule → HttpApiHostModule也就意味着执行顺序为DomainSharedModule.PreConfigureServices → ApplicationContractsModule.PreConfigureServices → ... ... → HttpApiHostModule.PreConfigureServices → DomainSharedModule.ConfigureServices → ApplicationContractsModule.ConfigureServices → ... ... → HttpApiHostModule.ConfigureServices → ... ... → HttpApiHostModule.OnPostApplicationInitialization核心源码导读ABP模块化的所有代码都存放于ABP源码的Volo.Abp.Core项目下Volo/Abp/Modularity文件夹下https://github.com/abpframework/abp/blob/dev/framework/src/Volo.Abp.Core/Volo/Abp/ModularityAbpModule 为模块类的基类在该类中我们可以看到PreConfigureServices、ConfigureServices等方法的虚方法和PreConfigureServicesAsync、ConfigureServicesAsync等异步的虚方法。我们可以看到这些方法中没有任何实际代码异步方法中也只是添加了对相应的同步方法的调用。在实际项目的模块类中我们可以依据需求重写这些方法。AbpModuleDescriptor 是用来存储模块类信息及其依赖关系的类其中 IReadOnlyListIAbpModuleDescriptor Dependencies 属性用于存储当前模块的依赖模块以此形成树形结构。DependsOnAttribute 是用于标记依赖关系的特性而查找依赖关系时是通过其继承的 IDependedTypesProvider 接口如果需要我们也可以通过实现此接口自定义依赖关系特性。IModuleLoader 接口声明了加载模块列表的方法定义其官方提供的实现类为 ModuleLoader 源码中实现代码如下通过该方法实现了章节3中提到的模块类执行顺序的构建。IModuleLifecycleContributor 是模块生命周期提供者接口在DefaultModuleLifecycleContributor.cs文件中提供了多个该接口的实现类分别对应应用初始化前、初始化、初始化后和应用关闭事件。在Volo/Abp/Modularity下其他类或接口主要是对以上几个核心类的封装或者提供细节实现这里不进行一一列举。END关注我获得更多精彩
http://wiki.neutronadmin.com/news/367263/

相关文章:

  • ppt模板怎么做 下载网站网页打包成小程序
  • 网站 图片防盗链淘宝客建设网站
  • 档案安全网站安全建设凡科网网站系统
  • 泉州建站方案绍兴做外贸网站的公司
  • 成都网站建设与维护苏州网络公司有哪些
  • 微信官方网站注册网页设计免费模板代码
  • 更新网站的图片加不上水印百度高级搜索指令
  • 常州制作网站价格国内排名前五的电商
  • 马鞍山网站建设电话建设企业网站的公司
  • 南京网站优化建站o2o苗木网站建设
  • 手机网站建设的公司排名赣州市资讯网
  • 购物网站开发uml图文山网站建设联系电话
  • 网站运营推广策划书哈尔滨市高考录取通知书投递
  • 太原找工作网站个人网站 名称
  • 陕西整站关键词自然排名优化网站的栏目设置
  • 网站设计风格有几种网站没被百度收录
  • 网站组建昆山城乡建设局网站
  • 网站域名查询网址怎样用网站模板做网站
  • 用网站做的简历模板主题森林wordpress
  • 开个人网站需要多少钱百度一下你就知道官网新闻
  • 网站订票策划方案简述什么是响应式布局
  • 网站建设收费情况个人知识库管理系统
  • 网站项目ppt怎么做如何做网站霸屏
  • 怎么把别人网站模板下载出来在一起做网店的网站的怎么购买
  • 做游戏网站公司搜狗搜索网
  • 沈阳专业做网站开发公司成都设计公司展厅设计
  • wordpress 数据站徐州网站建设 网站推广
  • 网站搭建教室软件开发管理平台
  • 福州做网站公司排名扬州市建设厅网站
  • 小企业网站推广如何建设html网站