我有一個應用程序有很多模塊/插件。我正在使用MEF和Directory插件來導入它們。每個用戶都有一個存儲在數據庫中的可用模塊列表,每個用戶可以有多個配置文件來控制哪些模塊可見。MEF插件與安全和配置文件效率
有示出具有[ImportMany(typeof運算(IModule的)]屬性從所有可見模塊的信息的概述區域。
什麼是處理這一點,以便不可見或不可訪問模塊的好方法沒有在存儲器中創建。
我有一個應用程序有很多模塊/插件。我正在使用MEF和Directory插件來導入它們。每個用戶都有一個存儲在數據庫中的可用模塊列表,每個用戶可以有多個配置文件來控制哪些模塊可見。MEF插件與安全和配置文件效率
有示出具有[ImportMany(typeof運算(IModule的)]屬性從所有可見模塊的信息的概述區域。
什麼是處理這一點,以便不可見或不可訪問模塊的好方法沒有在存儲器中創建。
Lazy loading them將確保它們不被初始化或加載到內存中。然後use metadata找到模塊名稱和詳細信息。
使用[ImportMany(typeof(IModule)]
將創建每個模塊的實例 - 這只是MEF的工作方式所以一個方法是在你的模塊做什麼的構造函數,然後調用你真的想每個模塊Load
方法使用,它可以做任何它需要做的工作。
或者,創建一個名爲IModuleInfo
的新界面,該界面只包含您的概覽區域所需的信息。
感謝您的元數據鏈接 – Wegged 2011-02-15 20:28:07