什么是wcf

Wcf是分布式、可扩展、可配置、统一的编程模型,是多种既有技术的综合。在wcf身上,你可以找到ASP.NET Web Service、WSE、.Net Remoting、COM/DCOM、MSMQ等技术的身影。

ASP.NET Web Service
跨平台,基于开放的标准,包括XML、XSD、SOAP和WSDL等。

WSE(Enhancement)
对ASP.NET Web Service的增强,使ASP.NET Web Service正式成为一个适合企业级应用的通信框架。MS推出了WSE1.0、2.0和3.0,分别实现对不同的WS-*标准的支持,如WS-Security、WS-Routing、WS-Addressing、WS-MTOM等。

.Net Remoting
第一个基于.NET的分布式通信技术。Wcf和.Net Remoting最为类似。两者都采用基于信道栈的“管道式”消息处理机制,且可扩展。两者还都使用相同的服务寄宿和调用方式。.Net Remoting最大的不足在于无法跨平台。

COM/DCOM
COM组件基于相同的规范进行相互通信。一个组件包含一个接口和一个唯一标识(GUID)对外提供服务。COM的优点是支持不同语言编写的组件的互操作。DCOM是实现了分布式远程调用的COM技术,支持可靠、安全传输。

MSMQ
MSMQ的优点:异步消息发送、离线通信的支持、消息发送方和接收方完全解耦、支持可靠传输、支持事务。

要是没有wcf,开发人员必须学习不同的通信技术,还需要使用不同的开发模型,学习成本和开发成本都很高。使用wcf,开发人员便可以只需要掌握一种技术就可以完成Web Service、.Net Remoting、COM/DCOM、MSMQ等技术具有的全部功能。

Wcf与asp.net web service的区别
首先,单纯的web service只是一个行业标准,它使用xml来表示数据,这是跨平台和跨语言的基础,web service的核心是soap、wsdl和uddi。而asp.net web service是它的一种实现。Wcf一定程度上就是asp.net web service,因为它支持web service的标准WS-*。asp.net web service和wse能完成的事情,wcf也能完成。除此之外,wcf还是ms其他通信技术的集大成者,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet来进行通信,是ms提供的用于通信的“瑞士军刀”。相较于asp.net web service,wcf有以下不同。

  • WCF 支持多种通信协议 Http/Https 、TCP/UDP、MSMQ、命名管道、对等网、消息可达性、事务流等。
  • WCF可以与ASP.NET 集成、共享一个上下文(HttpContext)。
  • WCF 支持多种消息传输格式:text,binary,mtom,Json 等。
  • WCF 安全性要强:支持对称安全、非对称安全、消息安全、传输安全、SSL流安全、Windows 流安全等。
  • WCF 支持REST 。
  • WCF支持多种格式化方式。DataContractSerializer、XmlSerializer、DataContractJsonSerializer等。
  • WCF 支持 WAS Hosting、Windows Hosting、Self-Hosting、IIS Hosting等。
  • WCF支持多种并发模式:单例、单调、会话。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值