首页 > 其他分享 >一张图看懂 OrchardCore 中的模块加载及依赖管理

一张图看懂 OrchardCore 中的模块加载及依赖管理

时间:2022-08-19 12:34:52浏览次数:53  
标签:功能 图看 false Feature Module OrchardCore 默认 模块 加载

先上图

 

  

Manifest.cs   

Module 与 Feature

Module 特性  如果模块中只有一个 功能【Feature】 那么可以直接用 Module 替代,也就是

    /// <summary>
    /// Defines a Module which is composed of features. If the Module has only one default
    /// feature, it may be defined there.
    /// </summary>
    [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false, Inherited = false)]
    public class ModuleAttribute : FeatureAttribute

 

Feature 特性  ,只要 存在任何明确定义的  Feature 特性,那么  Module 的默认 Feature 功能将被忽略

  /// <summary>
    /// Defines a Feature in a Module, can be used multiple times.
    /// If at least one Feature is defined, the Module default feature is ignored.
    /// </summary>
    [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true, Inherited = false)]
    public class FeatureAttribute : Attribute

 

Module 中的 默认Feature 和 Feature 两个特性 的应用类似于 类型的 构造函数

如果 Module 中未明确定义 任何 Feature ,那么将根据 模块程序集名称自动 构建一个 默认Feature

如果明确定义了任何  Feature 特性,则 默认 Feature 不再生效

Dependencies 

在功能管理界面,如果启用了该功能,将会自动启用该模块依赖的功能

 

Startup  中的 RequireFeatures  与 Feature

RequireFeatures  

参数为依赖的功能ID 清单,如果列出的功能都已加载完成,则将开始执行此 Startup

Feature

与 Manifest 中的 Feature.Id 或 Module.Id 对应  , 如果启用了此功能,则将执行下面的 代码

 

标签:功能,图看,false,Feature,Module,OrchardCore,默认,模块,加载
From: https://www.cnblogs.com/Qbit/p/16601595.html

相关文章

  • umi框架配置loader加载glb模型
    项目需要,第一次使用umi框架,加载glb模型一直失败,创建新的react项目测试加载模型,完全没问题。那问题就出在umi的配置上了,翻遍网络只有一位博主写到过如何配置loader加载glb......
  • Android 加载库的方式
    Android加载库的方式有多种(1)本地library(2)jar包,仅有class文件和清单文件,仅能调用不含资源的方法(3)arr包,包裹class文件、清单文件,以及resource资源文件,可以调用arr包中样式......
  • ElementUI cascader级联动态加载及回显
    ElementUIcascader级联动态加载及回显 数据回显思路1.https://blog.csdn.net/m0_52789121/article/details/1232523272.使用回显插件https://zhuanlan.zhihu.com/p......
  • cesium模型的本地加载模型
    需求目前有一个需求就是需要从本地拖拽glb文件模型到cesium地球中显示模型由于相关js库较多本文章就不涉及拖拽功能了思路第一种方案cesium通过Model.fromGltf函数来......
  • 【快应用】车机加载器安装失败
    ​【问题背景】在车机模拟器上安装加载器失败,报错: ​ 【解决方法】请按照如下步骤检查:1、  adbdevices检查模拟器是否开启,需要开启模拟器2、  如果模拟器已......
  • pg_bulkload 数据加载使用及示例
    1.pg_bulkload概述1.1pg_bulkload介绍pg_bulkload是一种用于PostgreSQL的高速数据加载工具,相比copy命令。最大的优势就是速度。优势在让我们跳过sharedbuffer,walbu......
  • ros 加载yaml问题
    mac_address:12:23device_number:001ros加载yaml时不会把第一个当作字符串,解析出来是一个数,不知道怎么计算得来的。会把第二个解析为1,如果要当作字符串传入,给对应数......
  • Menuetos32桌面-程序加载,参数
    在Launcher.asm调用launch_applications中,加载了3个应用,一个是桌面背景jpegview.asm,一个是桌面图标ICONMNGR,还有一个是底部任务栏Mpanel。其中第三个参数是延时作用,这个......
  • War包加载过慢导致JBoss 6.4无法正常启动
    ​上周应用维护人员上线时,反馈应用无法启动,半夜被叫起来让帮忙排查一下原因。Jboss使用的是eap6.4的版本,登录后,发现应用启动时间超过300S时,jboss认为启动失败。​编辑......
  • 基于C++的OpenGL 14 之模型加载
    1.引言本文基于C++语言,描述OpenGL的模型加载前置知识可参考:基于C++的OpenGL13之Mesh-当时明月在曾照彩云归-博客园(cnblogs.com)笔者这里不过多描述每个名词......