wcf 学习笔记1

1. wcf 中的所有消息均为SOAP消息,注意WCF的消息与传输协议无关,与WEB服务不同,因此WCF服务可以在不同的协议之间传输,而不仅限于HTTP

2. wcf的每一个服务都有一个唯一的地址,地址包含两个元素:服务位置和传输协议;服务位置包括机器名,站点,通讯端口,管道或队列,以及一个可选的特定路径或URI统一资源标识

3. wcf 通讯协议有:http ,tcp , peer network , ipc , msmq ,使用命名管道的服务只能接收来自同一台机器的调用,每台机器只能打开一个命名管道

4. wcf 中所有服务都公开为契约,契约与平台无关,是描述服务功能的标准方式,wcf定义了四种类型的契约:

一,服务契约,描述客户端能够执行的服务操作

二,数据契约,定义了与服务交互的的数据类型

三,错误契约,定义了服务抛出的错误

四,消息契约,允许服务直接与消息交互(比较少用)

5. 只有接口或者类被标记为serviceContract特性,才能被WCF客户端访问,只有使用了operationContract属性标记的方法才能被调用,此外,契约操作不能使用引用对象作为参数,只允许使用基本类型货数据契约

6. iis托管,主要优势是宿主进程可以在客户端提交第一次请求的时候自动启动,还可以借助iis管理宿主进程的生命周期,缺点在于只能使用HTTP协议,使用IIS托管,服务的基地址必须与.SVC文件的地址保持一致

7. 自托管

8. WAS托管,windows激活服务,必须提供一个.SVC文件,与IIS托管一样,区别是WAS托管不局限于使用HTTP协议,它支持所有的可用WCF传输协议,端口与队列

9. WCF 引入了绑定(Binding)技术将这些通讯特征组合在一起,一个绑定封装了传输协议,消息编码,通讯模式,可靠性,安全性,事务传播以及互操作等相关选项的集合,使得开发者能够基于不同的基础功能模块使用相同的服务逻辑

一,基本绑定(basic binding)basichttpbinding 类支持,能将WCF服务公开为旧的ASMX WEB服务,使得旧的客户端能与新的服务协作

二,TCP绑定 ,nettcpbinding类提供,使用TCP协议实现在Intranet中跨机器的通信

三,对等网绑定,netpeertcpbinding类提供

四,IPC绑定,netnamepipebinding类提供,使用命名管道为同一机器的通信进行传输,最安全,因为不能接收来自机器外的调用,与TCP绑定类似

五,WEB服务绑定,wshttpbinding类提供,使用Http或https进行传输,为基于internet的通信提供了可靠性,事务性与安全性等特性

六,WS双向绑定,wsdualhttpbinding,与WS绑定相似,但还支持从服务到客户端的双向通信

七,MSMQ绑定,netmsmgbinding类提供,用以提供断开的队列调用的支持

wcf 学习笔记1

时间: 2024-08-02 06:48:52

wcf 学习笔记1的相关文章

WCF学习笔记(一)

WCF是什么? 官方解释: Windows Communication Foundation (WCF) 是用于构建面向服务的应用程序的框架.借助 WCF,可以将数据作为异步消息从一个服务终结点发送至另一个服务终结点. 服务终结点可以是由 IIS 承载的持续可用的服务的一部分,也可以是应用程序中承载的服务.终结点可以是从服务终结点请求数据的服务客户端.简单消息可以是作为 XML 发送的单个字符或单个单词,复杂消息可以是二进制数据流. 网络收集: Windows通信基础(Windows Commu

wcf 学习笔记2

服务契约 我们知道,serviceContrac特性能够将接口或者类公开为面向服务的契约,允许开发者使用c#语言编程,把类似接口这样的语法结构公开为WCF契约和服务. 操作重载,基于WSDL的操作不支持操作重载,但是,我们可以手动的启动操作重载,使用operationContract特性的name属性,为操作指定别名,如下: [ServiceContract] interface ICalculator { [OperationContract(Name="AddInt")] int

WCF学习笔记 -- 如何用C#开发一个WebService

假设所有工程的命名空间是demo. 新建一个C#的ClassLibrary(类库)工程. 在工程引用中加入System.ServiceModel引用. 定义接口,你可以删除自动生成的代码,或者直接修改代码来添加接口. [ServiceContract] Interface IMath { [Operationcontract] Int add (int a, int b); } 实现接口 添加一个新类,如Math实现该接口. Public class Math : IMath{ Int add(

WCF学习笔记 -- 基本概念

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

WCF学习笔记(基于REST规则方式)

一.WCF的定义 WCF是.NET 3.0后开始引入的新技术,意为基于windows平台的通讯服务. 首先在学习WCF之前,我们也知道他其实是加强版的一个面向服务(SOA)的框架技术. 如果熟悉WebService就会知道WebService是基于XML+XSD,SOAP和WSDL三大技术,当然他也是采用HTTP协议的通信,严格来说WebService是一种面向服务开发的标准.而ASP.NET WebService则是微软平台下的服务. WCF其实一定程度上就是ASP.NET Web Servi

WCF学习笔记(1)-一个完整的例子

一.开发环境 IDE:VS2013 OS:Win10 IIS:IIS 10 二.开发流程 1.项目结构 2.添加一个WCF程序 3.删除系统自动生成的两个文件IService1.cs和Service1.svc 4.添加自定义的WCF服务文件 5.在IUser.cs文件中,定义方法名 注: [ServiceContract]来说明是一个WCF接口,不加的话,不能被外部调用 [OperationContract]来说明该方法是一个WCF接口的方法,不加不能被外部调用 namespace WCFSer

WCF学习笔记(2)-WCF的通讯过程

一.WCF中的ABC 场景:公司让你送一份合同文件,送文件的过程你可以选择的交通方式有打的,地铁或公交. 到了对方公司后,你要找到某负责人,并且要一份收到合同文件的回执和相应文件 要完成这项工作任务主要以下几个步骤 1.知道对方公司的地址 即WCF中的A,通过Address我们可以找到我们要调用的WCF服务 2.选择交通方式 即WCF中的B,通过Binding来实现Client和Service通讯的所有底层细节. 传输采用什么编码,传输使用什么协议,等等 3.到了对方公司我们能做哪些事 即WCF

WCF学习笔记一(概述)

WCF  Windows Communication Foundation 分布式通信框架.WCF是对现有分布式通信技术的整合.是各种分布式计算的集大成者.主要整合技术如下图: WCF的服务不能孤立的存在,需要寄宿于一个运行着的进程中,我们把承载WCF服务的进程称为宿主,为服务指定的宿主的过程称为服务寄宿.自我寄宿和IIS寄宿两种服务寄宿方式.如下图: 从功能上讲,服务契约抽象了服务提供的所有操作:而站在消息交换的角度来看,服务契约则定义了基于服务调用的消息交换过程中请求消息和回复消息的结构.通

wcf学习笔记--初识wcf

WCF,长久以来一直是只闻其名,未见其真身. 这家伙可以说是.net跨平台的利器,简单说来,wcf可以寄宿在多种类型的程序之中,比如IIS,exe,com+等等,看官方介绍是很NB的一个东西,奈何我是一窍不通... 根据WCF的使用场景,可以简单的概括为两方面: 1.服务器寄宿wcf服务: 2.客户端调用服务: 先说wcf的寄宿,wcf的寄宿方式有多种,常用的有IIS,winform,console控制台: IIS寄宿: 1,创建wcf服务应用程序,注意两个地方:应用于接口的[ServiceCo