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

Asp.net WCF数据服务(ADO.Net数据服务或Astoria服务),asp.net,astoria,Asp.net,Astoria,Astoria服务模式是否仅支持 ATOM、JSON、XML、XML+HTTP 像SOAP、WSDL、ASMX这样的格式是否过时了。因此,当我希望开发SOA时,我可以忽略SOAP、ASMX、WSDL格式吗?不,绝对不能 ASMX=ASP.NET Web服务-这已经过时了,它是在.NET 1.0中引入的,基本上在.NET 3.0中被WCF取代 但是:WCF绝对不是过时的!WCF是微软在两个系统之间进行通信的标准方式。默认情况下,它使用SOAP(包括WSDL和XSD),这是一种成熟可靠的技术,在需要

Astoria服务模式是否仅支持

ATOM、JSON、XML、XML+HTTP


SOAP、WSDL、ASMX这样的格式是否过时了。因此,当我希望开发SOA时,我可以忽略SOAP、ASMX、WSDL格式吗?

不,绝对不能

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

但是:WCF绝对不是过时的!WCF是微软在两个系统之间进行通信的标准方式。默认情况下,它使用SOAP(包括WSDL和XSD),这是一种成熟可靠的技术,在需要数据完整性(人类和机器可读的)服务描述(通过WSDL和服务元数据)等内容的企业场景中运行良好。SOAP还提供了更高级的特性,如可靠的消息传递和事务支持

REST/ADO.NET数据服务是一种更轻量级、更容易获得的公开服务的方法,但它在许多方面都存在不足:没有统一的服务描述可用,因此您无法真正“发现”服务提供的方法和数据类型;要么你自己有知识,要么服务提供商给你一个简单的英语文档,但是没有标准的方式向外界描述REST服务(目前还没有)。此外,您还不知道服务可能会返回什么样的数据—没有XML模式可供遵循—它更多的是一种“让我们点击服务,看看会返回什么”的方法,这种方法在某些情况下可能会很好地工作,但在更大规模的企业风格环境中并不是这样


总而言之:SOAP(WSDL,XSD)与REST的争论正在进行中,两者都有其存在的理由,我看不到它们中的一个正在取代另一个——它们正在相互取代。

不,绝对不是

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

但是:WCF绝对不是过时的!WCF是微软在两个系统之间进行通信的标准方式。默认情况下,它使用SOAP(包括WSDL和XSD),这是一种成熟可靠的技术,在需要数据完整性(人类和机器可读的)服务描述(通过WSDL和服务元数据)等内容的企业场景中运行良好。SOAP还提供了更高级的特性,如可靠的消息传递和事务支持

REST/ADO.NET数据服务是一种更轻量级、更容易获得的公开服务的方法,但它在许多方面都存在不足:没有统一的服务描述可用,因此您无法真正“发现”服务提供的方法和数据类型;要么你自己有知识,要么服务提供商给你一个简单的英语文档,但是没有标准的方式向外界描述REST服务(目前还没有)。此外,您还不知道服务可能会返回什么样的数据—没有XML模式可供遵循—它更多的是一种“让我们点击服务,看看会返回什么”的方法,这种方法在某些情况下可能会很好地工作,但在更大规模的企业风格环境中并不是这样


总而言之:SOAP(WSDL,XSD)与REST的争论正在进行中,两者都有其存在的理由,我看不到它们中的一个正在取代另一个——它们正在取代另一个。

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

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