关于.net web代码共享设计的帮助

关于.net web代码共享设计的帮助,.net,asp.net-mvc-3,webforms,integration,.net,Asp.net Mvc 3,Webforms,Integration,我们有许多相互关联的系统,它们共享一个公共服务层。此外,它们是一些常见的UI组件。为了减少剪切和粘贴,我们希望将代码打包,以便在当前和未来的所有项目中使用。目前,我们需要集成的项目是ASP.net webforms和MVC 3解决方案。我希望大家能就“最佳”的方式提供意见 一种实现是创建一个单独的web项目(mvc),并让它和其他应用程序共享一个公共会话。此模型的好处是,对公共组件的升级不需要重新安装所有调用公共元素的应用程序。不幸的是,通用组件(用户和组织管理)的代码分离并不是那么简单 另一种

我们有许多相互关联的系统,它们共享一个公共服务层。此外,它们是一些常见的UI组件。为了减少剪切和粘贴,我们希望将代码打包,以便在当前和未来的所有项目中使用。目前,我们需要集成的项目是ASP.net webforms和MVC 3解决方案。我希望大家能就“最佳”的方式提供意见

一种实现是创建一个单独的web项目(mvc),并让它和其他应用程序共享一个公共会话。此模型的好处是,对公共组件的升级不需要重新安装所有调用公共元素的应用程序。不幸的是,通用组件(用户和组织管理)的代码分离并不是那么简单

另一种方法是将代码包装在nuget包中。对于WebForms项目,我可以使用AddMVC3TowerBForms进行包装。对于纯MVC项目,它可以作为文件夹安装

还有其他选择吗?我很想得到一个更具可插拔性的解决方案(例如MEFContrib),但我对MVC还不够熟悉,无法确定如何实现这一点

如果您有任何想法,我们将不胜感激。

我建议您使用“web服务”或“wcf”。通过用户名和密码身份验证(甚至不通过用户名和密码身份验证)创建与其他应用程序关联的web服务非常容易。看看这个