WCF,ASMX基本HTTP绑定和IIS

时间:2010-06-17 03:52:34

标签: .net xml wcf iis asmx

我一直在使用WCF“自我”托管应用程序做很多工作。我最近被要求编写一个Web服务,其中调用客户端是一个名为“WGET”的基于Linux的程序。我想使用WCF而不是传统的ASMX Web服务。 Web服务返回标准XML响应。我不确定两种技术之间的细节,但我知道WCF是正确的路线。我创建了一个要在IIS中托管的WCF服务(使用basicHttpBinding)。

1。)经典的ASMX Web服务(标准HTTP POST / GET)是否使用SOAP来返回响应?我从XSD创建了一个用于Web服务响应的类。幕后真的发生了什么?是否只有特殊的XML HTTP标头知道如何处理响应?响应没有包含在SOAP中吗?传统的ASMX Web服务与使用.Net“XSD”程序生成的类完美配合。

2.)我想将WCF用于此服务。将使用basicHttpBinding工作吗?正如我所读到的,这是用于ASMX客户端的正确绑定。这是使用SOAP,标准HTTP头还是其他什么?

3。)这是一个愚蠢的问题,因为我没有做过很多网络服务编程。我注意到在ASMX默认登录页面上有响应示例和调用功能的代码。当我使用WCF创建相同的服务时,我不得不创建一个客户端应用程序来执行这些任务。有没有办法像经典的ASMX服务那样公开WCF端点,或者WSDL是唯一的路径?

与往常一样,我非常感谢您的反馈。

谢谢, 布伦南

1 个答案:

答案 0 :(得分:6)

回答你的问题:

  

1。)经典的ASMX Web服务(标准HTTP POST / GET)是否使用SOAP   回复?

是。 ASMX正在使用SOAP 1.1标准,该标准也在WCF中实现。

  

2.)我想将WCF用于此服务。将使用basicHttpBinding   工作?

basicHttpBinding是模仿ASMX服务的完美搭档,是的。它就像ASMX一样使用SOAP 1.1,并且应该像ASMX一样。

  

3.)我注意到在ASMX默认登陆页面上有一些例子   响应和调用的代码   功能。有办法吗?   像经典一样公开WCF端点   ASMX服务或者是WSDL唯一的   路线?

WCF仅显示默认页面,以便您了解确实存在服务。没有旋钮或选项可以打开以获得相同的ASMX样式页面(出于安全原因)。如果需要,你必须自己做。 WSDL / XSD实际上是WCF的方式。