WCF数据服务(ADO.Net数据服务或Astoria服务)

时间:2009-12-21 00:16:01

标签: asp.net astoria

Astoria服务模型是否仅支持

ATOM,JSON,XML,XML + HTTP

SOAP,WSDL,ASMX这样的格式是否已过时?那么,当我希望开发SOA时,我可以忽略SOAP,ASMX,WSDL formats吗?

2 个答案:

答案 0 :(得分:1)

我将添加上述答案并说实际上有一种方法可以发现有关数据服务(REST)端点的元数据。每个端点都包含一个服务文档(只需在端点的根目录上执行GET),该文档描述服务公开的集合。此外,从服务的根目录(即http://mydomain/myservice.svc/ $元数据)转到$ metadata端点会返回一个完整描述服务的XML元数据文档(类型,类型,类型属性,集合之间的关系和服务)操作)。

答案 1 :(得分:0)

不,绝对不是!

ASMX = ASP.NET webservices - 这已经过时了,它在.NET 1.0中引入,基本上被.NET 3.0中的WCF取代。

但是: WCF 绝对是过时了! WCF是 Microsoft标准的两种系统之间的通信方式。它默认使用SOAP(包括WSDL和XSD),这是成熟可靠的技术,适用于需要通过WSDL和服务元数据等数据完整性,(人机和机器可读)服务描述等事务的企业场景,等等。 SOAP还提供更高级的功能,如可靠的消息传递和事务支持。

REST / ADO.NET数据服务是一种更轻量级,更容易获取的公开服务方法,但它在很多方面都缺乏:没有统一的服务描述,所以你无法真正“发现”服务提供的方法和数据类型;要么您自己了解,要么服务提供商以简单的英语为您提供文档,但是没有标准的方法来向外界描述REST服务(尚未)。此外,你事先并不知道服务可能返回什么样的数据 - 没有XML模式可以坚持 - 它更像是“让我们点击服务并看看会回来的”方法,它可能在在某些情况下,但不是真正在大规模的企业风格环境中。

总而言之:SOAP(WSDL,XSD)与REST辩论正在进行中,两者都有其原因,我没有看到其中一个取代另一个 - 它们互相取代。 / p>