C# 具有安全性和配置文件效率的MEF插件

C# 具有安全性和配置文件效率的MEF插件,c#,wpf,mef,C#,Wpf,Mef,我有一个有许多模块/插件的应用程序。我正在使用带有目录插件的MEF来导入它们。每个用户都有一个存储在数据库中的可用模块列表,每个用户可以有多个配置文件来控制哪些模块是可见的 有一个概览区域,显示来自所有具有[ImportMany(typeof(IModule)]属性的可见模块的信息 处理此问题的好方法是什么,以便不在内存中创建不可见或不可访问的模块。使用[ImportMany(typeof(IModule)]将为每个模块创建一个实例—这正是MEF的工作方式。因此,一种方法是让模块的构造函数不做任

我有一个有许多模块/插件的应用程序。我正在使用带有目录插件的MEF来导入它们。每个用户都有一个存储在数据库中的可用模块列表,每个用户可以有多个配置文件来控制哪些模块是可见的

有一个概览区域,显示来自所有具有[ImportMany(typeof(IModule)]属性的可见模块的信息

处理此问题的好方法是什么,以便不在内存中创建不可见或不可访问的模块。

使用
[ImportMany(typeof(IModule)]
将为每个模块创建一个实例—这正是MEF的工作方式。因此,一种方法是让模块的构造函数不做任何事情,然后对实际要使用的每个模块调用
Load
方法,在该方法中,它可以做任何需要做的工作

或者,创建一个名为
IModuleInfo
的新界面,该界面仅包含概览区域所需的信息。

使用
[ImportMany(typeof(IModule)]
将为每个模块创建一个实例—这正是MEF的工作方式。因此,一种方法是让模块的构造函数不做任何事情,然后对实际要使用的每个模块调用
Load
方法,在该方法中,它可以做任何需要做的工作

或者,创建一个名为
IModuleInfo
的新界面,该界面仅包含概览区域所需的信息。

将确保它们未初始化或加载到内存中。然后查找模块名称和详细信息。

将确保它们未初始化或加载到内存中。然后查找模块名称d细节