Asp.net Ado数据服务能否取代我在我的网站的ajax调用中使用的Web服务?

Asp.net Ado数据服务能否取代我在我的网站的ajax调用中使用的Web服务?,asp.net,ajax,architecture,wcf-data-services,Asp.net,Ajax,Architecture,Wcf Data Services,我曾经在我的网站中创建普通的Web服务,并从javascript调用这些服务来进行ajax调用 现在我正在学习Ado数据服务, 我的问题是: 在我将创建的新站点中,这个Ado数据服务是否可以取代我的普通Web服务 如果是的话 我是否可以将这些Ado数据服务放在一个单独的项目“同一服务器上的本地”中,并仅从我的网站进行引用?“要将相同的服务用于我的网站内部使用,同时也为其他网站或服务提供相同的服务,例如与twitter相同”取决于您想做什么,我建议您阅读我与Ado.Net数据服务架构师Pablo

我曾经在我的网站中创建普通的Web服务,并从javascript调用这些服务来进行ajax调用

现在我正在学习Ado数据服务, 我的问题是: 在我将创建的新站点中,这个Ado数据服务是否可以取代我的普通Web服务

如果是的话


我是否可以将这些Ado数据服务放在一个单独的项目“同一服务器上的本地”中,并仅从我的网站进行引用?“要将相同的服务用于我的网站内部使用,同时也为其他网站或服务提供相同的服务,例如与twitter相同”

取决于您想做什么,我建议您阅读我与Ado.Net数据服务架构师Pablo Castro的对话

这基本上是巴勃罗的话

我同意其中一些事情非常不方便,我们正在考虑修复它们(例如,除了在输入模型中定义的类型之外,还使用自定义类型来生成自定义结果集)。然而,其他一些只是数据服务的本质

数据服务框架不是数据库的网关,一般来说,如果您需要类似的东西,那么数据服务将成为一种障碍。数据服务的目标是从输入数据模型中创建一个资源模型,并使用一个RESTful接口将其公开,该接口公开统一接口,以便底层模型(“实体”)中的每个数据单元都成为一个可寻址的资源,可以用标准谓词进行操作

通常,RESTful接口的实际实现包括比仅对隐藏的数据执行CRUD更复杂的行为,需要以不破坏统一接口的方式定义CRUD。这就是为什么Data Services服务器运行时以查询/更改拦截器和其他形式具有用于业务逻辑和验证的挂钩。我们也承认,将所有的东西都建模为使用标准动词操作的资源并不总是可能的,也不可能是切实可行的,所以我们将服务操作作为逃生舱

像连接这样的东西稀释了我们试图创建的抽象。我并不是说它们是坏的或什么(没有它们的关系数据库就没有那么多用处了),只是如果给定的应用程序场景需要的是关系数据库的完整查询表达能力,以便在服务边界上可用,那么您可以简单地通过网络交换查询对于可以建模为关联遍历的连接,data services已经对其提供了支持

我想,要说数据服务不是解决所有涉及向web公开数据的问题的解决方案,还有很长的路要走。如果您希望在资源模型上有一个与我们的底层数据模型相匹配的RESTful接口,那么它通常工作得很好,并将为您节省大量工作。如果您需要自定义接口或直接访问数据因此,数据服务通常不是合适的工具,而WCF的SOAP和REST支持等其他框架组件在这方面做得很好