WCF小结
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小结的更多相关文章
- PHP调用WCF小结
新工作第三周,做了3年多的.Net,突然急转弯做PHP,漂移过弯,速度180迈 由于数据的整合,在项目中不得不使用PHP调用WCF 一头的雾水,网上相关的资料少又少,在phpChina发个帖子,还没有 ...
- WCF Data Service 使用小结(二) —— 使用WCF Data Service 创建OData服务
在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源.下面来介绍如何创建一个 OData 服务.在这篇文章中,主要说明在.NET的环境下,如何使用 WCF Data Se ...
- WCF使用小结:(1)WCF接收HTTP POST数据的处理方法
在WCF 4.0中,为我们创建Restful API有了更好的支持.通过定义UriTemplate,WebInvoke就可以快速开发API接口. 这里我记录一下HTTP POST数据时要如何接收POS ...
- WCF Data Service 使用小结 (一)—— 了解OData协议
最近做了一个小项目,其中用到了 WCF Data Service,之前是叫 ADO.NET Data Service 的.关于WCF Data Service,博客园里的介绍并不多,但它确实是个很好的 ...
- WCF Data Service 使用小结 —— 了解OData(一)
最近做了一个小项目,其中用到了 WCF Data Service,之前是叫 ADO.NET Data Service 的.关于WCF Data Service,博客园里的介绍并不多,但它确实是个很好的 ...
- WCF再学习小结
http://www.cnblogs.com/jillzhang/archive/2010/04/04/1704388.html http://leelei.blog.51cto.com/856755 ...
- IIS8中添加WCF支持几种方法小结[图文]
方法一 最近在做Silverlight,Windows Phone应用移植到Windows 8平台,在IIS8中测试一些传统WCF服务应用,发现IIS8不支持WCF服务svc请求,后来发现IIS8缺少 ...
- WCF服务端开发和客户端引用小结
1.服务端开发 1.1 WCF服务创建方式 创建一个WCF服务,总是会创建一个服务接口和一个服务接口实现.通常根据服务宿主的不同,有两种创建方式. (1)创建WCF应用程序 通过创建WCF服务应用程序 ...
- web service && WCF 学习小结
Web Service和WCF技术都提供了应用程序与应用程序之间的通信.它们都是基于soap消息在客户端和服务端之间进行通信,由于soap消息是一种xml格式,因此传输的数据格式为XML.每次客户端向 ...
随机推荐
- Windows 2012 安装 .net framework 3.5
使用 PowerShell, 指定源文件路径然后进行安装: Install-WindowsFeature NET-Framework-Core –Source D:\Sources\sxs 使用命令提 ...
- 基于Bootstrap的后台通用模板
人总是比较刁的,世界的时尚趋势不断变化,对系统UI的审美也在不断疲劳中前进,之前觉得好好的UI,过了半年觉得平平无奇,不想再碰,需要寻求新的兴奋点. 下面这套UI就是半年前的(今日:2015-12), ...
- SqlServer查看各个表所占空间大小的sql
CREATE TABLE [dbo].#tableinfo( 表名 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL, 记录数 [int] NULL, 预留空间 ...
- Photoshop CS6 for Mac简体中文正式 完美破解版 支持Retina屏
Photoshop CS6 MAC 中文版破解版 支持Retina屏 目前世界上“最好的化妆品”是一款叫做PhotoShop的产品,它可以帮你去除所有你不满意的地方.上周末,这款最好的化妆品推出了第十 ...
- const ,static,inline
const: 1 定义变量 ,如下写法都可以: TYPE const ValueName = value; const TYPE ValueName = value; ...
- C primer plus 练习题 第二章
6. #include <stdio.h> void echo(); int main() { /* echo(); echo(); echo(); printf("\n&quo ...
- CSS基础(四):盒模型
CSS盒模型 HTML文档中可以将每个元素都看作是长方形的盒子.而CSS盒模型规定了元素框处理元素内容content.内边距padding.边框border和外边距margin的方式.下图是W3C对于 ...
- C#的回调被C++调用
__stdcall 要加这个 extern "C" __declspec(dllexport) 要用这样的东东 定义 extern "C" __declspec ...
- 【软件分析与挖掘】BOAT: An Experimental Platform for Researchers to Comparatively and Reproducibly Evaluate Bug Localization Techniques
摘要: 目前有许多的bug定位技术,但是,由于他们基于不同的数据集,而且有些数据集还不是公开的,甚至有些技术只应用于小数据集,不具有通用性,因此,不好比较这些技术之间的优劣. 因此,BOAT应运而生. ...
- html5[1]:优化Android Webview性能
尽量少用position:relative 做一个OTO项目时,页面上下滑动时,颤抖的很厉害: 页面中主要是图片比较多,开始以为是图片多的原因,但是把所有图片都不加载,还是颤抖: 后来,去掉所有外部的 ...