2012-05-23 80 views
2

我正处于项目的研究/规划阶段(.Net c#,mvc或silverlight)。这是一个Web项目,提供捆绑到包中的某些服务。客户可以注册其中一个不同的软件包。.net基于模块的解决方案体系结构

我正在寻找关于哪种架构/框架用于这类项目的任何建议。我希望能够根据软件包加载或卸载模块。我也希望能够启用和禁用包内的功能。

这些模块必须具有高度的可移植性并可插入不同的客户端。我知道有MEF和棱镜,但我没有真正与两者合作。我还读了关于MVC和地区。我宁愿从头开始设计一切,如果任务足够简单,不要依赖第三方。我只是不知道在哪里或如何开始。

我很欣赏这些建议。 MG

回答

0

您可以忘记卸载。你必须使用独立的appdomsins才能卸载模块。这不是我曾经尝试过的一个ASP.NET网站。

你必须习惯于所有模块始终加载的想法。您可以使用基于角色的安全性来控制用户是否可以使用模块(每个插件有一个或多个角色)。

至于动态加载的东西:我已经写了如何使用我的Griffin.MvcContrib创建插件系统的文章:http://www.codeproject.com/Articles/386674/ASP-NET-MVC-3-plug-in-architecture-using-Griffin-M