WCF总结

1、WCF(原代号为Indigo)是一个用于创建和运行分布式系统的技术集合,使用它能创建安全的、可靠的、跨平台的的分布式解决方案。它的面向服务的编程模型,整合了.Net平台下以往全部的分布式开发技术,是微软在SOA领域推出的一款主打产品。

2、WCF是微软为SOA(Service-Oriented  Architecture)而设计的一套完整的技术框架

3、通过WCF技术可以创建服务

跨进程

跨机器

跨网络

4、WCF 提供了创建安全的、可靠的、事务服务、多种协议的统一框架

5、WCF 整合和扩展了现有分布式系统的开发技术,如Microsoft .Net Remoting、Web Services、Web Services Enhancements (WSE)等等。

6、优点:

开放性好,跨平台。

使用80端口穿透防火墙

数据格式简单

7、缺点:

安全性不高

不能方便的跨域访问

不支持双工模式

对于复杂的数据类型无法进行传递,需要使用中

间件技术进行扩展或,自行开发序列号支持

Wcf在该方面做成了很大的改进

8、WCF通信模型

a) 服务端可以提供的服务

i. 指定一个规则

ii. Contract

iii. 协定,契约,合同

b) 协定分类

i. Service Contract       ----服务契约

1. 定义了服务的类型,用一个接口或类订阅WCF的Service Contract。

ii. Operation Contract

1. 定义了WCF 服务中提供给外部系统访问的方法

iii. Data Contract     ----数据契约

1. 自定义的复杂数据类型

iv. Message Contract     ----消息契约

1. 用于控制SOAP消息的规则

v. Fault Contract        -----错误契约

1. 用于捕获服务端错误消息

9、宿主(Service Hosting):我们把承载WCF服务的进程称为宿主(Service Hosting)

常见的寄宿方式:

1、使用应用程序(winform 、控制器)开放。

2、使用IIS(Web项目、Web网站、ASP.NET MVC)开发。

3、WCF服务应用程序

10、WCF中的基本概念-ABC

a) A:Address    ------地址决定了服务的位置,解决了服务寻址的问题;

i.  where -服务在哪里

b) B:Binding    -------绑定实现了通信的细节,包括网络传输模式、消息编码,以及其他为实现某种功能(比如安全、可靠传输、事务等)对消息进行的相应处理

i.  how  -通过什么协议取得服务

c) C:Contract     -------契约是对服务操作的抽象,也是对消息交换模式以及消息结构的定义

i. what -定义的服务是什么

10、Binding的作用

a) 指明通过什么方式(协议)连接WCF 服务。

b) 常用协议

11、Address地址的作用

A)  通过一个URI Endpoint告诉潜在的WCF service的调用者如何找到这个WCF Service。

B)   表现形式

12、消息模式

a) 客户端与服务器之间是进行消息通讯的方式

b) 三种主要消息模式

i. 单向 One Way

ii. 请求/答复Request/Reply

iii. 双工Duplex

13、单向模式

a) One Way Call

b) 指的是发送端负责把消息发送给对方并且收到本地发出信息的确认消息之后,就完成交互的方式。

14、特点

a) 未知:消息是否最终到达服务的终节点

b) 已知:消息发送成功

c) 一般只能为返回void 的操作指定单向消息交换

d) Operation Contract Attribute的IsOneWay 属性需要设置为True,默认为false.

15、请求/答复模式

a) Request/Reply

b) 客户端发送一个消息并且接收一个返回消息来完成一次交互

16、特点

a) 请求方(客户端应用程序)发出请求以后,一直等待对方(WCF方)答复。

b) 这是默认的模式

[OperationContract]

void Method();

17、双工模式

a) duplex

b) 客户端和服务端都可以任意地向对方发送消息,而对方也可以以任意的次序来接收消息。

c) 服务端 :

i. 1 需要设计用于回调的服务协定,

ii. 2 将该回调协定的类型分配给ServiceContractAttribute Attribute的CallbackContract property。

d) 客户端:

i. 1 要对该接口实现

18、经典错误

解决方案:把wcf配置文件中的“<serviceDebug includeExceptionDetailInFaults="false" />”修改成“<serviceDebug includeExceptionDetailInFaults="true" />”

Wcf步骤

Demo1、在wcf接口中实现对数据的增删改查

一、引入类库“DBHeleper”

二、连接字符串

三、在接口定义增删改查四种方法

四、实现接口的连接字串

五、实现接口中的增删改查

六、启动项目

WCF小结的更多相关文章

  1. PHP调用WCF小结

    新工作第三周,做了3年多的.Net,突然急转弯做PHP,漂移过弯,速度180迈 由于数据的整合,在项目中不得不使用PHP调用WCF 一头的雾水,网上相关的资料少又少,在phpChina发个帖子,还没有 ...

  2. WCF Data Service 使用小结(二) —— 使用WCF Data Service 创建OData服务

    在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主要说明在.NET的环境下,如何使用 WCF Data Se ...

  3. WCF使用小结:(1)WCF接收HTTP POST数据的处理方法

    在WCF 4.0中,为我们创建Restful API有了更好的支持.通过定义UriTemplate,WebInvoke就可以快速开发API接口. 这里我记录一下HTTP POST数据时要如何接收POS ...

  4. WCF Data Service 使用小结 (一)—— 了解OData协议

    最近做了一个小项目,其中用到了 WCF Data Service,之前是叫 ADO.NET Data Service 的.关于WCF Data Service,博客园里的介绍并不多,但它确实是个很好的 ...

  5. WCF Data Service 使用小结 —— 了解OData(一)

    最近做了一个小项目,其中用到了 WCF Data Service,之前是叫 ADO.NET Data Service 的.关于WCF Data Service,博客园里的介绍并不多,但它确实是个很好的 ...

  6. WCF再学习小结

    http://www.cnblogs.com/jillzhang/archive/2010/04/04/1704388.html http://leelei.blog.51cto.com/856755 ...

  7. IIS8中添加WCF支持几种方法小结[图文]

    方法一 最近在做Silverlight,Windows Phone应用移植到Windows 8平台,在IIS8中测试一些传统WCF服务应用,发现IIS8不支持WCF服务svc请求,后来发现IIS8缺少 ...

  8. WCF服务端开发和客户端引用小结

    1.服务端开发 1.1 WCF服务创建方式 创建一个WCF服务,总是会创建一个服务接口和一个服务接口实现.通常根据服务宿主的不同,有两种创建方式. (1)创建WCF应用程序 通过创建WCF服务应用程序 ...

  9. web service && WCF 学习小结

    Web Service和WCF技术都提供了应用程序与应用程序之间的通信.它们都是基于soap消息在客户端和服务端之间进行通信,由于soap消息是一种xml格式,因此传输的数据格式为XML.每次客户端向 ...

随机推荐

  1. 【转】重新封装FetchUrl函数一枚,支持COOKIES,喜欢领走~!

    mjj520 发表于 2012-6-2 09:14 唉 cpu超级耗芸豆的 查了下开发文档,fetchurl原来是不算CPU的,是我误导了大家.  发表于 2012-6-1 17:30:17 |只看该 ...

  2. 高吞吐量的分布式发布订阅消息系统Kafka-- 管理工具 Kafka Manager

    一.概述 Kafka在雅虎内部被很多团队使用,媒体团队用它做实时分析流水线,可以处理高达20Gbps(压缩数据)的峰值带宽. 为了简化开发者和服务工程师维护Kafka集群的工作,构建了一个叫做Kafk ...

  3. [GraphQL] Use GraphQL's List Type for Collections

    In order to handle collections of items in a GraphQL Schema, GraphQL has a List Type. In this video, ...

  4. [整理]C#反射(Reflection)详解

    本人理解: 装配件:Assembly(程序集) 晚绑定:后期绑定 MSDN:反射(C# 编程指南) -----------------原文如下-------- 1. 什么是反射2. 命名空间与装配件的 ...

  5. CSS - Transform(Translate) abnormal shadow in firefox

    问题:当在Firefox中实现动画translate时,会出现虚影的状况: 经查找相关的解决方法,父容器添加样式:outline: 1px solid transparent;//即可解决问题. 但不 ...

  6. saiku缓存整理

    使用saiku的人,肯定都有这么一个经历,查询了一次多维分析数据表,第二次之后就特别快,因为它缓存了结果,可问题是过了一天,甚至几天,来源数据早都更换了,可还是这个缓存结果.问题来了,缓存不失效! 那 ...

  7. WPF之DataGrid

    1.WPF 4 DataGrid 控件(基本功能篇) 基本使用,绑定数据展示 2.WPF 4 DataGrid 控件(自定义样式篇) 定义行,列,头,单元格等样式 3.WPF 4 DataGrid 控 ...

  8. [Z] Windows 8/10 audio编程

    都是些网上搜到的比较不错的文章.关于这块儿的内容网上帖子不多.出去下面列的最主要的还有参考MSDN. WASAPI使用介绍: https://blogs.windows.com/buildingapp ...

  9. UNITY3D在IOS开发下的反射机制限制

    IOS上的反射是部分支持,支持使用反射读取源代码,但不支持使用反射动态生成可执行代码,下面是限制反射的命名空间:ProfilerReflection.EmitReflection.Emit.Save ...

  10. Shell之数学计算

    本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ 数学计算是Shell中比较常用的一种操作,  但是因为shell中所有的变量都默认为字符串, ...