Med*_*Man 4 c# asp.net wcf web-services asmx
我看到有两个选项,我知道可以在Web服务中使用...显然,WCF和ASP.NET Web服务.有什么不同?我刚刚开始接收WCF并且过去曾接触过一些Web服务,但我当然不是专家.
知道这些差异很容易.
ASP.NET Web方法被称为ASMX [因为文件扩展名](关于这个,检查4GuysFromRolla,他们有一个很好的教程)
此技术使您将方法公开为Web服务,因此您可以从任何地方连接它(到WS)并使用它(方法).但是...... 你无法保护服务器和客户端之间的数据,比如,你可以在清除模式下发送大文件等等......
[注意]你可以使用证书来保护对Web服务的访问,但这很麻烦而且相当复杂,通常在ASMX中我们使用username/passsword来访问一个方法(再一次......用纯文本!)
在WCF中,您处于Web服务的不同世界,这是.NET(迄今为止)公开服务的最佳技术(您能看到差异...... 服务!而不是Web服务),WCF不需要IIS要运行,它可以作为服务器上的系统服务,使用控制台环境(如命令行),TCP/IP模式等运行,因此我们说WCF是服务,而不是Web服务.请记住,ASMX需要运行IIS,并且只能在Web服务器中运行.
使用WCF,您可以使用SSL加密通信(要在ASMX中执行此操作,您需要使用WSE - Web服务增强功能)并且实现它非常容易,您可以安全地发送大文件(在ASMX中执行此操作,您需要使用MTOM - 消息传输优化机制).
您可以设置传输首选项只需更改一行代码,甚至,如果您愿意,可以更改XML配置文件,安全性更高等等:)
希望你能得到一个更好的概述,但还有更多.
底线:要公开您不需要保护的Web服务,您可以使用ASMX,完全没问题,但如果您需要以某种方式保护通信,请在WCF中进行!