我发现有两个选项可以在 Web 服务中使用......显然是 WCF 和 ASP.NET Web 服务。有什么不同?我最近才开始接触 WCF,过去也接触过一些 Web 服务,但我当然不是专家。
很容易知道其中的差异。
ASP.NET Web Method 被称为 ASMX [因为文件扩展名](检查 4GuysFromRolla 关于这一点,他们有一个很好的教程)
这项技术使您可以将方法公开为 Web 服务,这样您就可以从任何地方连接它(到 WS)并使用它(方法)。但...你无法保护服务器和客户端之间的数据,例如,您可以以清晰的模式发送大文件等......
[注意] 你可以使用证书来保护对 Web 服务的访问,但这很痛苦而且相当复杂,通常在 ASMX 中我们使用用户名/密码来授予对方法的访问权限(再次......以纯文本形式!)
In WCF,您正处于 Web 服务的不同世界,这是 .NET 中(迄今为止)公开服务的最佳技术(你能看到区别么... Services! not 网页服务),WCF不需要IIS来运行,它可以作为服务器上的系统服务运行,使用控制台环境(如命令行),以TCP/IP模式等,所以我们说WCF是一个Service,不是 Web 服务。请记住,ASMX 需要 IIS 才能运行,并且只能在 Web 服务器上托管运行。
使用 WCF,您可以使用 SSL 来加密通信(要在 ASMX 中执行此操作,您需要使用WSE- Web 服务增强)并且实现它非常容易,您可以安全地发送大文件(要在 ASMX 中执行此操作,您需要使用MTOM- 消息传输优化机制)。
您只需更改一行代码即可设置传输首选项,甚至,如果您愿意,还可以更改 XML 配置文件,安全性要高得多,等等:)
希望您对此有一个更好的总体概述,但还有更多。
底线:要公开不需要保护的 Web 服务,您可以使用 ASMX,完全没问题,但如果您需要以某种方式保护通信,请在 WCF 中进行!
link: 您可以在这里阅读两种服务之间的一些性能比较
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)