我们主要开发低流量但高度专业化的 Web 应用程序。通常我们使用 L2S、EF 或 nHibernate 作为访问层,然后将 Asp.Net MVC 扔给它,对于正常的 crud 操作,我们直接查询 ISession/DataContext,但对于更高级的功能/副作用,我们把它放在某种服务层。
现在,我正在考虑通过 OData(WCF 数据服务)发布数据并从控制器(或者当一个好的模板引擎出现时甚至从 jQuery)查询数据,并通过 WCF 服务(或作为自定义方法)发布服务操作在 WCF 数据服务上?)。这种架构有什么优点/缺点?
除了更高的复杂性和延迟之外,我是否获得了一些东西?更好地分离关注点(或者这只是一种错觉)?
编辑: 用例如创建一个完整的 ajax 驱动解决方案是个好主意吗?WCF RIA 服务? 还是松了太多的灵活性?感觉就像您可以完全从您的逻辑中调度您的视图,哎呀,一个应该能够只编写纯 HTML,甚至不需要 asp.net MVC?但我想有很多新的问题出现了?