Web Service
1、它是基于SOAP协议的,数据格式是XML
2、只支持HTTP协议

3、它不是开源的,但可以被任意一个理解XML的人利用
4、它只能支配在IIS上
WCF
1、这个也是基于SOAP的,数据格式是XML
2、这个是Web Service(ASMX)的进化版,可以支持各种各样的协议,像TCP,HTTP,HTTPS,Named Pipes, MSMQ.
3、WCF的紧张问题是,它配置起来特殊的繁琐
4、它不是开源的,但可以被任意一个理解XML的人利用
5、它可以支配运用程序中或者IIS上或者Windows做事中
WCF Rest
1、想利用WCF Rest service,你必须在WCF中利用webHttpBindings
2、它分别用[WebGet]和[WebInvoke]属性,实现了HTTP的GET和POST动词
3、要想利用其他的HTTP动词,你须要在IIS中做一些配置,使.svc文件可以接管这些动词的要求
4、利用WebGet通过参数传输数据,也须要配置。而且必须指定UriTemplate
5、它支持XML、JSON以及ATOM这些数据格式
Web API
1、这是一个大略的构建HTTP做事的新框架
2、在.net平台上Web API 是一个开源的、空想的、构建REST-ful 做事的技能
3、不像WCF REST Service.它可以利用HTTP的全部特点(比如URIs、request/response头,缓存,版本掌握,多种内容格式)
4、它也支持MVC的特色,像路由、掌握器、action、filter、模型绑定、掌握反转(IOC)或依赖注入(DI),单元测试。这些可以使程序更大略、更健壮
5、它可以支配在运用程序和IIS上
6、这是一个轻量级的框架,并且对限定带宽的设备,比如智好手机等支持的很好
7、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。
WCF和WEB API我该选择哪个?
1、当你想创建一个支持、行列步队、双工通信的做事时,你该当选择WCF
2、当你想创建一个做事,可以用更快速的传输通道时,像TCP、Named Pipes或者乃至是UDP(在WCF4.5中),在其他传输通道不可用的时候也可以支持HTTP。
3、当你想创建一个基于HTTP的面向资源的做事并且可以利用HTTP的全部特色时(比如URIs、request/response头,缓存,版本掌握,多种内容格式),你该当选择Web API
4、当你想让你的做事用于浏览器、手机、iPhone和平板电脑时,你该当选择Web API
一、定义
1.WebService:严格来说是行业标准,不是技能,利用XML扩展标记措辞来表示数据(这个是夸措辞和平台的关键)。微软的Web做事实现称为ASP.NET Web Service.它利用Soap大略工具访问协议来实现分布式环境里运用程序之间的数据交互。WSDL来实现做事接口干系的描述。此外Web services 可以注册到UDDI中央.供其客户查找利用。 后来微软做了ASP.NET Web Service的安全,性能,数据加密、解密,托管宿主等多方面的扩展,称为WSE系列,这个是过度产品,最高到WSE3.0.后来便是WCF时期。
2.WCF:实在一定程度上便是ASP.NET Web Service,由于它支持Web Service的行业标准和核心协议,因此ASP.NET Web Service和WSE能做的事情,它险些都能胜任,跨平台和措辞更不是问题(数据也支持XML格式化,而且供应了自己的格式化器)。
但是WCF作为微软主推一个通讯组件或者平台,它的目标不仅仅是在支持和集成Web Service,由于它还兼容和具备了微软早期很多技能的特性。
根据微软官方的阐明,WCF(之前的版本名为“Indigo”)是利用托管代码建立和运行面向做事(Service Oriented)运用程序的统一框架。它使得开拓者能够建立一个跨平台的安全、可信赖、事务性的办理方案,且能与已有系统兼容协作。WCF是微软分布式运用程序开拓的集大成者,它整合了.Net平台下所有的和分布式系统有关的技能,如Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ行列步队。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML, Kerberos,X509,用户/密码,自定义等多种标准与模式。也便是说,在WCF框架下,开拓基于SOA的分布式系统变得随意马虎了,微软将所有与此干系的技能要素都包含在内,节制了WCF,就相称于节制了叩开SOA大门的钥匙。
二、WCF的上风 1、统一性 前面已经阐述,WCF是对付ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技能的整合。由于WCF完备是由托管代码编写,因此开拓WCF的运用程序与开拓其它的.Net运用程序没有太大的差异,我们仍旧可以像创建面向工具的运用程序那样,利用WCF来创建面向做事的运用程序。
2、互操作性 由于WCF最基本的通信机制是SOAP(Simple Object Access Protocol 大略单纯工具访问协议),这就担保了系统之间的互操作性,纵然是运行不同的高下文中。这种通信可以是基于.Net到.Net间的通信,如下图所示: 可以跨进程、跨机器乃至于跨平台的通信,只要支持标准的Web Service,例如J2EE运用做事器(如WebSphere,WebLogic)。运用程序可以运行在Windows操作系统下,也可以运行在其他的操作系统,如Sun Solaris,HP Unix,Linux等等。如下图所示:
3、安全与可信赖 WS-Security,WS-Trust和WS-SecureConversation均被添加到SOAP中,以用于用户认证,数据完全性验证,数据隐私等多种安全成分。 在SOAP 的header中增加了WS-ReliableMessaging许可可信赖的端对端通信。而建立在WS-Coordination和WS- AtomicTransaction之上的基于SOAP格式交流的信息,则支持两阶段的事务提交(two-phase commit transactions)。
上述的多种WS-Policy在WCF中都给与了支持。对付Messaging而言,SOAP是Web Service的基本协议,它包含了头(header)和体(body)。在头中,定义了WS-Addressing用于定位SOAP的地址信息,同时还包含了MTOM(传输优化机制,Message Transmission Optimization Mechanism)。
4、兼容性 WCF充分的考虑到了与旧有系统的兼容性。安装WCF并不会影响原有的技能如ASMX和.Net Remoting。纵然对付WCF和ASMX而言,虽然两者都利用了SOAP,但基于WCF开拓的运用程序,仍旧可以直接与ASMX进行交互。
三、更本差异
WCF 支持多种通信协议 Http/Https 、TCP/UDP、MSMQ、命名管道、对等网、可达性、事务流等。
WCF 可以与ASP.NET 集成、共享一个高下文(HttpContext)。
WCF 支持多种传输格式 :text,binary,mtom,Json 等。
WCF 安全性要强:支持对称安全、非对称安全、安全、传输安全、SSL 流安全、Windows 流安全等。
WCF 支持多种会话模式:单向、双向、要求/相应。
WCF 支持REST 。
WCF 支持多种格式化办法。DataContractSerializer、XmlSerializer、 DataContractJsonSerializer 等。
WCF 支持 WAS hosting、Windows 做事 hosting、Self-Hosting、IIS hosting 等。
WCF 支持多种并发模式:单例、单调、会话 。
WCF与WPF1.
WCF(Windows Communication Foundation )是一个统一的,可用于建立安全,可靠的面向做事的运用高效的开拓平台。WCF是构建安全可靠的事务性做事的统一框架。它是一种构建分布式面向做事系统的非常丰富的技能根本,它统一了风格和RPC[Remote Procedure Call]风格,并且通过二进制和基于开放标准的通信达到了平台最优化。
它整合了.Net平台下所有的和分布式系统有关的技能,例如ASP.NET Web做事(ASMX)、增强Web做事扩展(WSE)、.Net Remoting、企业做事(Enterprise Service)和微软行列步队(MSMQ)。 WPF与Silverlight有何不同?
WPF(Windows Presentation Foundation),紧张是供应统一的展现层模组,来建立诸如Windows Vista聪慧型利用者体验,包含了利用者介面、3D模组、多媒体、文件等;而Silverlight是跨浏览器上的外挂,传达下一代网页多媒体相互性功能,从属于WPF功能上的子集,并可与Ajax来做高弹性的程式化互动。二者都是互补,也是基于XAML的展示层根本,若与Adobe技能比, Silverlight犹如Flash,WPF犹如AIR(前身为Apollo),XAML犹如MXML
2.
WCF为 Windows Communication Foundation,是Microsoft为构建面向做事的运用供应的分布式通信编程框架,是.NET Framework 3.5的主要组成部分。从功能的角度来看,WCF完备可以看作是ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技能的并集。 WPF是Windows Presentation Foundation,微软新发布的Vista操作系统的三大核心开拓库之一,其紧张卖力的是图形显示,以是叫Presentation(呈现)。 WPF相对付WinForm,将美工(控件样式设置)与实现(代码的业务实现)分开,是一种新的架构办法。 VS2008新特性是.Net Framework 3.5。
3.WPF便是所谓下一代Windows界面层技能,我以为还有满有出息的。不过Vista发布以来,用户认可度目前确实不高。 WCF,你就先把它想成Web Service的下一代也没什么问题。
WPF用过,就算是winform的下一代吧,绘图的话可以实现GDI+一些达不到的效果,海内的书本资料很少,也就三四本。
wpf 图形有关,取代winform wcf 通讯有关,取代webservices wwf 事情流
原文地址:https://www.cnblogs.com/weihengblogs/p/8670276.html