我习惯于在areas
单个 MVC 项目的两个不同中构建我的 CMS 和客户端站点。该 MVC 项目引用了一个应用层(类库),该层为该 MVC 项目中的两个区域提供服务。应用程序层引用域层,然后域层引用数据层(都在它们自己的单独的类库中)。MVC 应用程序只知道应用程序层。
我开始渴望将 CMS 分离到它自己的应用程序中的好处,其中一些是:
- 从通常非常轻量级的客户端项目中获取相当大的 CMS 演示代码库。
- 当特定客户端没有自定义功能时,不必重新构建相同的 CMS 代码库(通常不需要为新客户端更改 CMS)
- 能够在生产中升级 CMS 而不必担心影响网站(反之亦然)
为了做到这一点,从我最初的研究中我发现我需要创建一个引用应用程序层的 WCF 应用程序。然后从这里开始,CMS MVC 应用程序和 Client MVC 应用程序将只与 WCF 层进行通信。
这种方法的缺点:
- 需要在托管环境中提供 3 个单独的应用程序。
- 不同应用程序之间的消息传递开销。
这是实现我想要的最简单的方法吗?任何人都可以给我一些例子或易于理解的类似情况的案例研究吗?