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. Android 模拟器检测

    参考链接:https://github.com/MindMac/HideAndroidEmulator 从多个方面识别模拟器1.用户习惯:联系人数量.短信数量.相册里面照片数量.安装的应用2.从IME ...

  2. 通过微信查找SAP TCODE代码

    输入T-CODE查询作用: (包含了16000+ 个SAP T-CODE),扫码关注后可以体验效果 再也不用去记那么多T-CODE用途了 还不试试看 输入关键词:"利润中心" &q ...

  3. Git Tips

    撤销已经推送到远程仓库的最后一次提交,要小心这么操作,因为远程仓库还有别人在使用 $ git reset --hard HEAD^ $ git push -f origin master 从仓库中提出 ...

  4. HTML5新特性之移动设备API

    为了更好地为移动设备服务,HTML5推出了一系列针对移动设备的API. 1.Geolocation API Geolocation接口用于获取用户的地理位置.它使用的方法基于GPS或者其他机制(比如I ...

  5. 精选29款非常实用的jQuery应用插件

    今天我们来分享一些实用的jQuery应用插件,没有特别花哨,但都比较实用,jQuery菜单.jQuery图片都有涉及到,一起来看看. 1.jQuery+CSS3仿IOS无线局域网Wifi DEMO演示 ...

  6. haproxy 配置

    1.环境: 操作系统:CentOS 6.4 haproxy: 1.3.15.10 [下载:http://download.chinaunix.net/download.php?id=25784& ...

  7. CSS HACK 及常见问题

    一.CSS常用hack 1.方式一:条件注释法 这种方式是IE浏览器专有的Hack方式,微软官方推荐使用的hack方式.举例如下 只在IE下生效 <!--[if IE]> 这段文字只在IE ...

  8. 个人对joomla3.2x和joomla2.5X浅薄看法

    很久没有写joomla文章了,发现想写的东西还是挺多的,后面抽时间补回来,其实更多还是php的一些东西.joomla3.0以后系统改变挺大,后台都是用bootstrap作为主题,个人对这个无爱,因为他 ...

  9. 什么是作用域链,什么是原型链,它们的区别,在js中它们具体指什么?

    什么是作用域链,什么是原型链. 作用域是针对变量的,比如我们创建了一个函数,函数里面又包含了一个函数,那么现在就有三个作用域 全局作用域==>函数1作用域==>函数2作用域 作用域的特点就 ...

  10. MSSQL自动备份数据库

    最近项目中,需要用到MSSQL自动定时备份功能,本来想利用C#自己写一个的,但是听说在MSSQL2008中已经集成了功能强大的自动备份功能,于是便提刀上阵,狠狠地琢磨了一番: 首先,打开MSSQL20 ...