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