我们有许多相互关联的系统,它们共享一个公共服务层。此外,它们还有许多常见的UI组件。为了减少剪切和粘贴,我们希望打包代码以用于所有当前和未来的项目。目前,我们需要集成的项目是ASP.net webforms和MVC 3解决方案。我希望大家以“最佳”的方式进行投入。
一种实现方式是创建一个单独的Web项目(mvc),并让它与其他应用程序共享一个公共会话。此模型的好处是,对公共组件的升级不需要所有应用程序调用要重新安装的公共元素。不幸的是,通用组件(用户和组织管理)的代码分离并不那么简单。
另一种方法是将代码包装在nuget包中。对于WebForms项目,我可以用AddMvc3ToWebForms包装。对于直接的MVC项目,它可以作为文件夹安装。
还有其他选择吗?我希望得到一个更易插拔的解决方案(例如,MEFContrib),但我对MVC不够熟悉,无法确定如何做到这一点。
任何想法都会受到赞赏..