我是WCF和Web服务的新手.WCF带来了哪些改进?任何人都可以提供传统Web服务的并排示例,以及使用WCF编写的同一个例子并指出差异和优势吗?
重复的问题 将ASP.net webservices移动到WCF
编辑:想想我找到了你在哪里找到基于代码的并行代码的答案,甚至更好的是来自MSDN:将ASP.NET Web服务与基于开发的WCF进行比较
有几个相关的问题:
aspnet web方法和wcf webservice之间的区别
使用WCF的Benfits
将aspnet Web服务移动到wcf
然而,你要求进行并排比较,在这种情况下,我认为Sam的Wcf vs ASMX博客文章更多是你想要的.
引用ad-verbatim(如果我将它留作链接,请告诉我):
WCF与ASMX
协议支持
WCF
HTTP
TCP
命名管道
MSMQ
习惯
UDP
ASMX
仅限HTTP
主机
ASMX
只能在IIS上使用HttpRuntime进行托管.
WCF
WCF组件可以托管在.NET 3.0中的任何类型的环境中,例如控制台应用程序,Windows应用程序或IIS.
WCF服务被称为"服务"而不是Web服务,因为您可以在没有Web服务器的情况下托管服务.
自托管服务使您可以灵活地使用HTTP以外的传输.
WCF向后兼容性
WCF的目的是为分布式应用程序提供统一的编程模型.
向后兼容性
WCF具有现有技术堆栈的所有功能,而不依赖于它们中的任何一个.
使用这些早期技术构建的应用程序将在安装了WCF的系统上继续保持不变.
现有应用程序可以使用WCF进行升级
新的WCF事务处理应用程序将与基于System.Transactions构建的现有事务应用程序一起使用
WCF和ASMX集成
WCF可以使用WS-*或HTTP绑定与ASMX页面进行通信
ASMX的局限性:
ASMX页面不会告诉您如何通过传输传递它以及使用特定类型的安全性.这是WCF非常显着的增强.
ASMX与HTTP运行时紧密耦合,并依赖IIS来托管它.WCF可以由任何能够托管.NET Framework 3.0的Windows进程托管.
ASMX服务基于每个呼叫进行实例化,而WCF通过提供各种实例化选项(如Singleton,私有会话,每次调用)为您提供灵活性.
ASMX提供了互操作性的方式,但它不提供或保证端到端的安全性或可靠的通信.