asp.net-mvc – 使用WCF/OData作为访问层而不是直接使用EF/L2S/nHibernate的参数

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 使用WCF/OData作为访问层而不是直接使用EF/L2S/nHibernate的参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们开发的流量很低,但是高度专业化的Web应用。通常我们使用L2S,EF或nHibernate作为访问层,然后将Asp.Net MVC引用到它,对于正常的crud操作,我们直接查询ISession / DataContext,但是对于更高级的功能/副作用,我们把它放在某种服务层

现在,我考虑通过OData(WCF数据服务)发布数据,并从控制器(甚至是一个好的模板引擎出现时也可以从jQuery)查询数据,并通过WCF服务(或作为自定义方法)发布服务操作在WCF数据服务上?)。这个架构有什么优点/缺点?

除了更高的复杂性和延迟之外,我会获得一些东西更好的分离关注(或者只是幻觉)?

编辑:
创建一个完整的ajax驱动的解决方案可以是一个好主意,例如。 WCF RIA Services?还是做一个松动太多的灵活性?感觉像你可以从你的逻辑完全派发您的意见,然后,应该能够写纯粹的HTML,甚至不应该需要asp.net MVC?但我想有很多新的问题出现了吗?

解决方法

正如TomTom所说,在一个进程中,你不想支付OData的环回成本。如果您的数据库具有直接的视距,而且它是您自己的应用程序的数据库,那么没有理由将WCF数据服务放在中间。我会继续使用你提到的其他选项之一(L2S,EF,nHibernate)。

现在,如果您需要通过http端点公开其他应用程序的数据,或者甚至对于您自己的应用程序,如果客户端中有一些需要从服务器访问数据的jQuery代码,则绝对可以通过OData端点来帮助和WCF数据服务是最简单的创建方式之一。

猜你在找的asp.Net相关文章