我习惯于在单个MVC项目的两个不同areas
中构建我的CMS和客户端站点。该MVC项目引用了一个应用程序层(类库),它为该MVC项目中的两个区域提供服务。 应用层引用域层,然后引用数据层(两者都在各自独立的类库中)。 MVC应用程序只知道应用程序层。
我开始希望将CMS分离到自己的应用程序中的好处,其中一些是:
为了做到这一点,从我最初的研究中我发现我需要创建一个引用应用层的WCF应用程序。然后,从这里,CMS MVC应用程序和客户端MVC应用程序将仅与WCF层通信。
这种做法的失败:
这是实现我想要的最简单的方法吗?任何人都可以举一些例子或容易理解类似情况的案例研究吗?
答案 0 :(得分:1)
基本上,这是您的选择,您希望如何保留应用程序。如果您希望稍后将业务逻辑作为Web服务公开,那么您必须使用WCF,以便CMS的业务逻辑独立于任何客户端界面,因此,如果您计划移动版本的网站,则在以后的线路中从广义上讲,如果您将BL保留在WCF中,则必须仅更改客户端,并且可以由第三方为您开发。
如果我在你的位置,我肯定会选择WCF方法。
如果你谈到最简单的方法,那么将BL作为项目的一部分。但是,你必须在可扩展性和易于开发之间做出选择。
答案 1 :(得分:1)
我已将CMS分离到它自己的项目中,但遵循相同的命名空间。现在我可以从我的客户端MVC应用程序中引用cms dll,设置路由并复制文件资产(视图,内容)。
对于WCF层,我决定在MVC 4中使用Web API,然后继续使用它,直到我扩展它的极限并且必须转移到WCF。