(MEF)组合必须在启动时发生吗?

时间:2012-02-28 20:42:34

标签: asp.net-mvc mef composition

我问这个问题是因为我的任务是创建一个框架,以便我们可以拥有一个MVC网站,当用户登录时,通过拉出他们的程序集并将它们加载到这样的数据库中,从数据库中加载“插件”。方式以便使用。这些插件可以是显示在页面的一部分中的小小部件,也可以是应用程序的完整部分。

我之所以选择MEF,是因为看起来(并且仍然看起来)是我锁定的完美钥匙,但事实上,当应用程序启动时,一切都会发生。我已经有一些与此问题有关的问题(located here),但这是针对特定问题的。我的问题是,当用户登录时,我需要完成所有组合后,在我去数据库后获取用户为其帐户安装的所有插件(.dll文件)。

所以我的问题是:因为它与MEF有关,组合绝对必须在启动时发生,或者我可以拥有它以便在用户登录后发生所有组合?这对这个项目至关重要。在询问之前,整个站点都被身份验证锁定。未注册用户将看到的唯一内容是登录页面,仅此而已。因此,基于登录的用户,网站可能具有完全不同的外观(和可用功能)。

或者从技术上讲,我只是问得太多了?

1 个答案:

答案 0 :(得分:1)

我会说组合应该发生一次。如果您在成功登录后获得所有信息,请在登录后进行撰写。我也是这样在我的项目中(登录 - > MEF - >显示APP)