WCF小结

   WCF总结编程

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

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

三、经过WCF技术能够建立服务服务器

跨进程网络

跨机器框架

跨网络分布式

四、WCF 提供了建立安全的、可靠的、事务服务、多种协议的统一框架网站

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

六、优势:spa

开放性好,跨平台。

使用80端口穿透防火墙

数据格式简单

七、缺点:

安全性不高

不能方便的跨域访问

不支持双工模式

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

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

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

八、WCF通讯模型

a) 服务端能够提供的服务

i. 指定一个规则

ii. Contract

iii. 协定,契约,合同

b) 协定分类

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

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

ii. Operation Contract      

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

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

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

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

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

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

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

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

常见的寄宿方式:

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

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

3WCF服务应用程序

十、WCF中的基本概念-ABC

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

i.  where -服务在哪里

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

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

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

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

十、Binding的做用

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

b) 经常使用协议

11Address地址的做用

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

B)   表现形式

十二、消息模式

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

b) 三种主要消息模式

i. 单向 One Way

ii. 请求/答复Request/Reply

iii. 双工Duplex

1三、单向模式

a) One Way Call

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

1四、特色

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

b) 已知:消息发送成功

c) 通常只能为返回void 的操做指定单向消息交换

d) Operation Contract AttributeIsOneWay 属性须要设置为True,默认为false.

1五、请求/答复模式

a) Request/Reply

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

1六、特色

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

b) 这是默认的模式

[OperationContract] 

void Method();

1七、双工模式

a) duplex

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

c) 服务端 :

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

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

d) 客户端:

i. 1 要对该接口实现

1八、经典错误

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

Wcf步骤

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

1、引入类库“DBHeleper

2、链接字符串

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

4、实现接口的链接字串

 

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

6、启动项目

相关文章
相关标签/搜索