Gul*_*zim 5 rest ado.net wcf web-services
我对ADO.Net数据服务感到有点困惑.
它只是用于创建RESTful Web服务吗?我知道WCF在SOAP世界中开始,但现在我听说它对REST有很好的支持.ADO.Net数据服务也是如此,如果您无法从面向资源的视图中查看所有内容,则可以使其在RPC模型中工作.
至少从我最近看到的演示看来,ADO.Net Data Services看起来像是在服务器上的WCF堆栈上构建的.如果我错了,请纠正我.
我不打算开始REST和SOAP辩论,但我想事情已经不那么清楚了.
关于在哪里使用的任何建议或指导?
在我看来,ADO.Net 数据服务是为了创建与域模型紧密结合的静态服务,即模型本身是发布的,而不是某种形式的 DTO 等。
\n\n将它用于 RPC 风格的服务似乎不太合适,但不幸的是,甚至一些非常基本的功能(例如能够执行过滤计数等)也不可用,这通常意味着您最终将使用一些 RPC 来满足以下要求:您的客户即可以显示分页网格等。
\n\nWCF 3.5 SP1 之前的版本是一个相当弱的 RESTful 平台,SP1 中的 Uri 模板和 ATOMPub 支持的可用性都得到了改进,因此它变得更加强大,但它们并没有真正提供任何优雅的解决方案来支持 JSON 、XML、ATOM 甚至一些更深奥的东西,比如 CSV 之类的有效负载,同时不需要使用 URL 重写和不同的扩展名、方法名称修改等 - 而不是仅仅根据请求的标头选择序列化器/反序列化器。
\n\n使用 WCF,仍然很难创建在更自然、安静的庄园中工作的服务,即资源包括 url,并且您可以通过导航来转换状态 - 这有点笨拙 - ADO.Net 数据服务通过它的 AtomPub 很好地做到了这一点不过支持。
\n\n我的建议是使用 Web 服务,它们自然是服务,并且强制执行强服务边界,对丰富的 Web 样式客户端(网站、ajax、silverlight)使用 ADO.Net 数据服务,其中 url 查询的可组合性可以节省很多管道和你的领域模型非常基本...如果你需要完全控制信息,即如果你要为其他开发人员发布 API,则可以滚动你自己的 REST 层(可能使用 MVC 框架作为起点)在社交平台等上消费
\n\n我的 2\xc3\xb8 值!
\n 归档时间: |
|
查看次数: |
2192 次 |
最近记录: |