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. Ecshop商品详情页显示当前会员等级价格

    会员登录状态下,在ECSHOP商品详情页的本店售价中显示当前登录会员对应的等级价格,在未登录状态下,则还默认显示原来的本店售价. 解决方法: 这个需要修改ECSHOP程序代码来实现. 打开文件 /in ...

  2. 【jquery】Validform,一款不错的 jquery 表单验证插件

    关于 Validform 这是一款很不错的 jquery 表单验证插件,它几乎能够满足任何验证需求,仅仅一行代码就能搞定整站的表单验证. $('form').Validform(); 为什么能如此方便 ...

  3. algo_预备

    章 C + +程序设计 大家好!现在我们将要开始一个穿越" 数据结构.算法和程序" 这个抽象世界的特殊旅程,以解决现实生活中的许多难题.在程序开发过程中通常需要做到如下两点:一是高 ...

  4. [原]OpenGL基础教程(二)多边形绘制

    上篇介绍了最基本的三角形绘制,本篇介绍如何使用索引的方式绘制多边行. 为什么要使用索引方式,总体来说提高性能.如何提高:使用顶点数组的好处是避免大量的函数调用.即避免每画一个顶点就调用1次glVert ...

  5. LoadRunner 12 发布,主推云

    LoadRunner 12 发布,主推云 http://blog.csdn.net/testing_is_believing/article/details/22572341

  6. WebDriver等待和同步对象(基于C#)

    WebDriver等待和同步对象(基于C#) http://www.docin.com/p-748352113.html

  7. POJ 2676 Sudoku

    Sudoku Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 12005   Accepted: 5984   Special ...

  8. 优化LibreOffice如此简单

    对于开源软件的支持者和粉丝来说,LibreOffice 无疑是 Microsoft Office 的最佳替代品,而且它已在过去的许多版本迭代中迎来了许多巨大改进.然而,通过用户的手动配置,我们还是有办 ...

  9. 在Visual Studio 2010中进行“项目重命名”的有效工具

    地址:http://www.cnblogs.com/dudu/archive/2011/12/11/visual_studio_2010_project_rename.html 提示:这个工具一次 r ...

  10. Log4Net 手册

    首先感慨下,现在的程序员做的工作因为高级语言的生产力,系统框架模式的成熟,开源大牛的贡献,已经成越来越偏向 “面向配置编程”了...... 详细使用指南见文章:http://blog.csdn.net ...