WCF概念

WCF 概念

WCF是.NET Framework 上灵活通讯技术。在.NET 3.0推出之前,一个企业解决方案需要几种通讯方式。对于独立于平台的通讯,使用ASP.NET Web服务。对于比较高级的 Web 服务-可靠性、独立于平台的安全性和原子事务等技术-Web Service Enhancements 增加了ASP.NET Web 服务的复杂性。如果要求通讯比较快,客户和服务都是.NET 应用程序,就应使用.NET Remoting 技术。 .NET Enterprise Services 支持自动事务处理,它默认使用DCOM 协议,比用.NET Remoting 快。 DCOM也是允许传递事务的唯一协议。所有这些技术都有不同的编程模型,这些模型都需要开发人员有许多的技巧。

.NET Framework 3.0 引入了一种通讯技术WCF,它包含上述技术的所有功能,把他们合并到一个编程模型中:Window Communication Foundation(WCF)。

本章介绍的明明空间是System.ServiceModel。

WCF合并了ASP.NET Web服务、.NET Remoting 、消息列队和Enterprise Service 的功能,WCF 的功能包括:

存储组件和服务

与联合使用自定义主机、.NET Remoting 和 WSE 一样,也可以将WCF 服务存放在ASP.NET运行库、WINDOW服务、COM+进程 或 WINDOW 窗体应用程序中。

声明行为

不要求派生自基类(.NET Remoting 和 Enterprise Service 有这个要求),也可以使用属性定义服务。这类似于用ASP.NET开发Web服务。

通信信道

在改变通信信道方面,.NET Remoting 非常灵活,WCF 也不错 ,因为它提供了相同的灵活性。WCF提供了用HTTP、TCP和IPC 信道进行通信的多条信道。也可以创建使用不同的传输协议的自定义信道。

安全结构

为了实现独立于平台的Web服务,必须使用标准化的安全环境。所提出的标准用WSE 3.0 S实现,这在WCF中被继承下来。

可扩展性

.NET Remoting 有丰富的扩展功能。他不仅能创建自定义信道、格式化程序和代理,还能将功能注入客户端和服务器上的消息流。WCF提供了类似的可扩展性。但是WCF的扩展性用SOAP标题创建。

支持以前的技术

要使用WCF,根本不需要完全重写分布式解决方案,因为WCF可以与已有的技术集成。WCF提供的信道使用DCOM与服务组件通信。用ASP.NET开发的Web服务也可以与WCF集成。

最终目标是通过进程和不同的系统、通过本地网络和通过Internet 收发客户和服务之间的消息。

如果需要以独立于平台的方式尽快收发消息,就应这么做。在远程试图上,服务提供了一个端点,她用协定、绑定和地址来描述。协定定义了服务提供的操作,绑定给除了协议和编码信息,地址是服务的位置。呵护需要一个兼容的端点来访问服务。

客户调用代理上的一个方法。代理提供了服务定义的方法。但把方法调用转换为一条消息,并把该消息传输倒信道上。信道有一个客户端部分和一个服务器端部分,他们通过一个网络协议来通信。在信道上,吧消息传递给调度程序,调度程序再把消息转换为用服务调用的方法调用。

WCF支持几个通信协议。为了进行独立于平台的通信,需要支持Web服务标注。要在.NET应用程序之间通讯,可以使用较快的通信协议,其系统开销较小。

下面几节介绍独立于平台的通讯所使用的核心服务的功能。

SOAP

为了记性独立于平台的通讯,可以使用SOAP协议,它得到WCF 的直接支持。

WSDL

文档描述了服务的操作和信息。

REST

WCF还提供了使用REST进行通信的功能。REST并不是一个协议,但定义了使用服务访问资源的几条规则。支持REST的Web服务是基于HTTP协议和REST规则的简单服务。

JSON

除了发送SOAP消息之外,从Javascript中访问服务最好使用JSON。.NET包含一个数据协定序列化程序,可以用JSON标记创建对象。

时间: 2024-08-25 22:25:11

WCF概念的相关文章

【踩坑(Running)填坑(ZSSURE)】:WCF学习之InstanceContextMode与ConcurrencyMode

背景: WCF可以看作是微软对SOA架构的一种实现,或者说WCF的存在让开发者更容易创建面向服务的程序.面向服务本身不是一种技术,而是设计和实现软件的一种架构方式.从最早的面向过程(PO).面向对象编程(OO),到后来的面向服务(SO).面向资源(RO)编程,本身没有本质区别,反映出的是人们认识世界的方法论的迭代进化. PO.OO.SO.RO,还有一个不沾边的O2O,各种概念层出不穷,在学习使用时要切忌混淆.今天这里记录的是在WCF框架下(面向服务架构--SOA--的一种实现),如何进行多线程及

使用 ServiceStack 构建跨平台 Web 服务(转)

出处:http://www.cnblogs.com/shanyou/p/3348347.html 本文主要来自MSDN杂志<Building Cross-Platform Web Services with ServiceStack>,Windows Communication Foundation (WCF) 是一个相当优秀的服务框架,当我们讨论跨平台的服务的时候,虽然WCF对WebService的支持还行,在面对一些高级应用的不太好,微软重新发展了ASP.NET WebAPI框架,关于这两

WCF回顾一、基本概念和应用场景

一.WCF描述 wcf是一款基于面向服务的架构的通讯框架平台,在分布式框架中得到了广泛使用. wcf入门非常简单,只要花几分钟就能编写一个完整的wcf程序,而实际上WCF是概念非常多的一门技术,需要花很大精力去深入研究. 二.WCF优点 1.将各种通讯技术进行整合 WCF是对于 Web Service,Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合 表示层可以基于 soap XML传输  和 rest  http调用 传输层可以基于 http htt

WCF学习之基本概念的理解

最近在做云平台项目的时候,反复听到WCF这个东东,对于我这只菜鸟,也就只能硬着头皮上了. 那么什么是wcf呢,今天我们先看一些基本概念. 1.什么是WCF? WCF全名是:WindowsCommunication Foundation ,是一个运行库和一组 API,用于创建在服务与客户端之间发送消息的系统.它使用相同的基础结构和 API 来创建应用程序,这些应用程序可与同一计算机系统上或驻留在另一家公司内并通过 Internet 访问的系统上的其他应用程序进行通信. 2.它包括什么? 按照我的理

菜鸟学习WCF笔记-概念

背景 WCF这个词语一直不陌生,以前也使用过多次在实际的项目中,但是一直没有时间来做个系统的学习,最近抽点时间,看看 蒋金楠的<WCF全面解析>学习下,顺带做些笔记,如有错误,欢迎各路大神指正. 本章意在对Windows通信编程涉及到的相关词汇进行一个大概的理解不深究. 参考:http://baike.baidu.com/view/1140438.htm?fr=aladdin(不得不说百度百科,维基百科等资料很丰富),<WCF全面解析>. WCF介绍 Windows Communi

WCF分布式服务1-核心概念

参考msdn library for WCF Windows Communication Foundation (WCF) 是用于构建面向服务的应用程序的框架. 借助 WCF,可以将数据作为异步消息从一个服务终结点发送至另一个服务终结点. 服务终结点可以是由 IIS 承载的持续可用的服务的一部分,也可以是应用程序中承载的服务. 终结点可以是从服务终结点请求数据的服务客户端. 简单消息可以是作为 XML 发送的单个字符或单个单词,复杂消息可以是二进制数据流. WCF 的功能 WCF 包括以下功能集

WCF分布式开发步步为赢(14):WCF安全编程--基本概念

WCF安全机制是个非常复杂的问题,因为涉及的知识点较多,所以今天这个文章,会分析进行WCF安全开发应该了解的哪些知识点.如何查看资料.为了更好地理解WCF安全相关知识,我把WCF安全机制主要知识点整理为图表.本章以介绍WCF安全机制的基础概念为主.  要学习WCF安全编程,你应该学习什么首先掌握什么基础知识?很多时候会因为缺乏系统的安全概念,在进行WCF安全编程开发的时候,遇到很多问题,比如所证书,这个概念相信很多初学者第一次接触的时候花费了很多时间.我当时在做WSE安全开发的时候就查阅了很多资

WCF分布式开发步步为赢(1):WCF分布式框架基础概念

众所周知,系统间的低耦合一直是大型企业应用系统集成追寻的目标,SOA面向服务架构的出现为我们的如何利用现有企业系统资源进行企业ERP系统设计和实现提供了重要的参考原则.SOA如此炙手可热,各大厂商都推出了自己的中间件产品,比如Oracle Fusion和 SAP NetWeaver,IBM.BEA等企业也推出了自己基于SOA的解决方案.基于J2EE平台的SOA架构设计中的一个重要概念就是EJB企业服务总线,作用是实现各个系统的数据交互.而.NET平台上,WCF就是微软为各个系统的数据交互提供通讯

WCF学习笔记 -- 基本概念

WCF是实现WebService的一种微软提出的技术,整合了.Remote, .NET及ASP.NET服务的一种框架.是Windows Communication Foundation的缩写.WebService就是分布式应用程序间实现互操作性的一种标准.它与语言和平台无关,你可以使用任务语言编写发布到任何平台.它在底层通过SOAP协议来传送数据. WebService必须包含的几个要素: Address – 地址,也就是在哪找到该服务.地址必须唯一. Binging – 绑定协议,即通过什么方