我一直在使用 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.) 这是一个愚蠢的问题,因为我没有做过很多 Web 服务编程。我注意到 ASMX 默认登录页面上有响应示例和调用功能的代码。当我使用 WCF 创建相同的服务时,我必须创建一个客户端应用程序来执行这些任务。有没有办法像经典的 ASMX 服务一样公开 WCF 端点,或者 WSDL 是唯一的途径吗?
一如既往,我非常感谢您的反馈。
谢谢,
布伦南
回答您的问题:
1.) 经典的 ASMX Web 服务(标准 HTTP POST/GET)是否使用 SOAP 来
返回响应?
是的。 ASMX 使用 SOAP 1.1 标准,该标准也在 WCF 中实现。
2.) 我想使用 WCF 来提供此服务。将使用 basicHttpBinding
工作?
The basicHttpBinding
是模仿 ASMX 服务的完美匹配,是的。它像 ASMX 一样使用 SOAP 1.1,并且其行为应该与 ASMX 非常相似。
3.) 我注意到 ASMX 默认登陆页面上有以下示例
响应和代码来调用
功能。有没有办法
像经典一样公开 WCF 端点
ASMX 服务还是 WSDL 唯一
路线?
WCF 仅显示一个默认页面,让您知道确实存在服务。没有旋钮或选项可以打开以获得相同的 ASMX 样式页面(出于安全原因)。如果您需要的话,您必须自己做这件事。 WSDL / XSD 确实是 WCF 的最佳选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)