我知道有两个选项可以在Web服务中使用......显然是WCF和ASP.NET Web服务。它们有什么区别?我最近才开始接触WCF,过去也接触过一些Web服务,但我肯定不是Maven。
rfbsl7qr1#
很容易知道它们的差别。NET Web方法被称为ASMX [因为文件扩展名](检查4GuysFromRolla关于这一点,他们有一个good tutorial)这项技术让你把方法公开为Web服务,这样你就可以从任何地方连接它(到WS)并使用它(方法)。但是......你不能保护服务器和客户端之间的数据,比如,你可以在一个清晰的模式下发送大文件,等等......[注意]您可以使用证书保护对Web服务的访问,但这是一个痛苦和相当复杂的过程,通常在ASMX中,我们使用用户名/密码来给予对方法的访问权限(再次...纯文本!)在WCF中,您将置身于Web服务的另一个世界,而这是.NET中最好的技术(到目前为止)公开服务(* 您能看出区别吗...*服务!而不是Web服务),WCF不需要IIS即可运行,它可以作为系统服务在服务器上运行,使用控制台环境(像命令行),在TCP/IP模式等,所以我们说WCF是一个Service,而不是一个Web Service.记住ASMX需要IIS才能运行并且只会运行在托管的Web Server上.通过WCF,您可以使用SSL对通信进行加密(在ASMX中,您需要使用WSE- Web服务增强功能),而且它很容易实现,您可以安全地发送大文件(在ASMX中,您需要使用MTOM-消息传输优化机制)。您可以设置传输首选项,只需更改一行代码,甚至,如果您愿意,更改XML配置文件,安全性要高得多,等等:)希望你能得到一个更好的总体概述与此,但有更多。底线:要公开您不需要保护的Web服务,您可以使用ASMX,这完全没有问题,但如果您需要以某种方式保护通信,请在WCF中执行此操作!
链接:you can read here some performance comparative between the 2 services
wgxvkvu92#
NET网络服务是微软在网络服务方面的第一次尝试。WCF取代了ASP.NETWeb服务和. NETRemoting。WCF提供了一个通用的编程模型,使您能够完成这两种较早的技术所能完成的任务,并提供了更多功能,包括对各种协议和安全模型的支持。如果您有选择的话,请使用WCF。
8yparm6h3#
ASP.NET Web服务是可以的--但是它仅限于IIS中托管的HTTP,并且存在其他问题。WCF支持更多的传输协议(各种方式的HTTP、TCP、MSMQ等),具有更丰富的安全模型(凭据、联合安全性),并提供托管选项-在Windows应用程序或服务、IIS或WAS等中自托管。简而言之:如果你现在开始-去学习WCF的一切手段!马克
3条答案
按热度按时间rfbsl7qr1#
很容易知道它们的差别。
NET Web方法被称为ASMX [因为文件扩展名](检查4GuysFromRolla关于这一点,他们有一个good tutorial)
这项技术让你把方法公开为Web服务,这样你就可以从任何地方连接它(到WS)并使用它(方法)。但是......你不能保护服务器和客户端之间的数据,比如,你可以在一个清晰的模式下发送大文件,等等......
[注意]您可以使用证书保护对Web服务的访问,但这是一个痛苦和相当复杂的过程,通常在ASMX中,我们使用用户名/密码来给予对方法的访问权限(再次...纯文本!)
在WCF中,您将置身于Web服务的另一个世界,而这是.NET中最好的技术(到目前为止)公开服务(* 您能看出区别吗...*服务!而不是Web服务),WCF不需要IIS即可运行,它可以作为系统服务在服务器上运行,使用控制台环境(像命令行),在TCP/IP模式等,所以我们说WCF是一个Service,而不是一个Web Service.记住ASMX需要IIS才能运行并且只会运行在托管的Web Server上.
通过WCF,您可以使用SSL对通信进行加密(在ASMX中,您需要使用WSE- Web服务增强功能),而且它很容易实现,您可以安全地发送大文件(在ASMX中,您需要使用MTOM-消息传输优化机制)。
您可以设置传输首选项,只需更改一行代码,甚至,如果您愿意,更改XML配置文件,安全性要高得多,等等:)
希望你能得到一个更好的总体概述与此,但有更多。
底线:要公开您不需要保护的Web服务,您可以使用ASMX,这完全没有问题,但如果您需要以某种方式保护通信,请在WCF中执行此操作!
链接:you can read here some performance comparative between the 2 services
wgxvkvu92#
NET网络服务是微软在网络服务方面的第一次尝试。
WCF取代了ASP.NETWeb服务和. NETRemoting。WCF提供了一个通用的编程模型,使您能够完成这两种较早的技术所能完成的任务,并提供了更多功能,包括对各种协议和安全模型的支持。
如果您有选择的话,请使用WCF。
8yparm6h3#
ASP.NET Web服务是可以的--但是它仅限于IIS中托管的HTTP,并且存在其他问题。
WCF支持更多的传输协议(各种方式的HTTP、TCP、MSMQ等),具有更丰富的安全模型(凭据、联合安全性),并提供托管选项-在Windows应用程序或服务、IIS或WAS等中自托管。
简而言之:如果你现在开始-去学习WCF的一切手段!
马克