WCF 1月份冲刺计划,代号:我吃饭啦(1)
chapter 1 .基本知识
面向服务架构原则
1。服务是安全的。客户端可能会在消息中提供他们的安全证书。
2。服务在系统中应保持一致的状态。
3。服务是线程安全的。并发访问。
4。服务是可靠地:客户端应该可以收到消息是否被接受,并且处理消息应该按照发送顺序,而不是接受顺序.
5。服务是健壮的。服务与本身的错误分离。
6。服务是互操作的。
7。服务是及时响应的。
1.WCF的编程模型,和原来的ws,不一样无论什么情况都使用proxy class,降低复杂性。
2.Address
- 服务位置
- 传输协议
也可以是包含了这两部分的传输样式(schema)
如,HTTP http://localhost:8001
MSMQ net.msmq://localhost/service
3.Binding , 绑定整合了多种的数据传输方式,通过各种各样的组合,可以满足,替代其他方式的通信,简化了开发。可配置的修改。
绑定是多种多样的,必须根据特定的要求使用特定的绑定方式。
如本机即是客户端也是服务端,就必须用托管通道的绑定方式。
4.Contract
- 服务契约
- 数据契约
- 错误契约
5.ABC服务
终结点可以包括多个服务。
6.元数据公布
1.http-get
2.交互终结点
7.丰富的配置内容,方式。
8.wcf体系结构
基于拦截机制的wcf体系结构。通过代理与客户端的交互,wcf总是处于服务与客户端之间,拦截所有的调用,执行调用前,调用后的处理。
当代理将调用栈帧序列化到消息中,并将消息通过通道链向下传递,wcf就开始执行拦截。
通道相当于拦截器,目的在于执行特定任务。诸如:加密,事务,编码,传输等。
宿主端同样有通道,以及分发器,将消息转换为栈帧,并调用服务实例。
9.宿主体系结构
技术无关的面向服务交互 ----clr接口与类。
10.可靠性
传输可靠性:通过点对点保证数据包的顺序无误。(顺序)
消息可靠性:端对端的保证传递。(不会丢失)
可靠性是在绑定中控制与配置的。
11.事务支持。
事务是由资源管理器控制。
轻量级事务管理器:SYstem.transaction.TransactionManager.具有事务升级功能。
隐式使用方式,System.Transactions.TransactionScope 。
12.消息
消息是一种数据传输对象。
不要假设消息的接收端和发送端使用的对象是一致的,所以他们在共享数据格式上是松耦合的。(那么如何有效的识别消息呢,加密规则,编码方式,等。哦这就要求接收端,和发送端的配置是相匹配的。)
13.软件工厂模板
核心:DSL(领域专用语言) + 框架
wcf是软件通信的软件工厂模板,
DSL ==服务模型 == System.ServiceModel + xml
框架 == 信道层 == System.ServiceModel.Channel
开发者使用服务模型为软件如何通信建模,然后根据他们的模型从信道层生成需要加入到软件中的通信组件。