
WCF学习记录笔记
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
《WCF学习记录笔记》是一份详细记载了在学习Windows Communication Foundation过程中的心得、技巧和解决方案的文档,适用于初学者及进阶开发者参考。
### WCF学习笔记知识点概述
#### 一、基本概念
**WCF简介**:Windows Communication Foundation (WCF) 是微软提供的一项技术框架,用于构建服务导向应用程序(SOA)。它为跨平台和服务之间的通信提供了统一的方法,支持多种协议如HTTP、TCP/IP和MSMQ等,并且能够处理不同格式的消息,包括XML和JSON。
**面向服务的架构(SOA)**:这是一种设计思想,旨在通过定义良好的接口将应用的不同功能单元(称为服务)连接起来,从而构建松耦合的应用程序。
#### 二、核心概念
- **服务契约(Service Contract)**:它规定了一个服务可以提供的操作及其输入输出参数。使用`[ServiceContract]`特性标注,并用`[OperationContract]`对每个操作进行标记。
- **消息交换**:
- 请求响应模式:客户端向服务器发送请求,后者处理后返回结果。
- 单向通信:仅发送请求不期待回复的场景。
- 双工交互:允许服务主动给客户端发信息。
- 异常处理:WCF内置了异常管理机制。例如`FaultException`用于封装错误并将其作为消息的一部分传回客户端。
- 会话状态**(Session State)**:在某些情况下,服务器需要保存与客户机互动期间的状态信息,WCF支持这种功能。
- 异步调用:通过使用`BeginXXX`和`EndXXX`方法来实现异步操作模型。
- 数据传输机制包括序列化和反序列化的技术。例如,使用DataContractSerializer处理复杂的对象结构。
- **端点绑定(Endpoint Binding)**:定义了服务如何在网络中通信的细节,涵盖了传输协议、消息编码及安全设置等选项。
- 行为控制(Behavior Control):通过`[Behavior]`特性可以定制服务行为如日志记录、事务管理以及安全性配置。
- **配置文件**:WCF服务的相关设定通常存储在app.config或web.config中,包括端点定义绑定和行为的设置等。
- 宿主环境**(Hosting Environment)**: WCF服务可以在多种环境中运行,例如独立应用程序或者IIS托管的服务。
#### 三、高级主题
- 分布事务:WCF支持通过MSDTC实现跨多个服务调用的数据一致性保障。
- 动态生成客户端代理代码:使用如`svcutil.exe`工具来自动生成客户端代理类。
- 安全性**(Security)**: WCF提供多种安全机制,包括SSL/TLS加密、基于证书的身份验证以及WS-Security等。
- 事务管理**(Transaction Management)**: 确保服务操作在事务范围内保持原子性和完整性。
- MSMQ集成:WCF可以通过MQ实现可靠的消息传递功能。
- RESTful WCF: 构建REST风格的服务接口支持也在WCF中得以体现。
#### 四、具体应用场景
- 服务实例管理模式**(Service Instance Management)**: 控制每个客户端请求的生命周期,比如PerCall和Singleton模式分别代表每次调用创建新实例或所有客户共享一个实例。
- 客户端IP获取:在服务器端获得真实客户的IP地址对于日志记录与审计非常重要。
- 异步调用与单向通信的区别**(Asynchronous Call vs One-Way)**: `IsOneWay`指定客户端可以在不等待服务响应的情况下继续执行,而异步则需要等待操作完成。
- 并发模式控制:定义了多线程环境下并发访问的策略。
- 流式处理**(Streaming)**: 对于大文件传输等场景采用流式处理可以减少内存消耗。
全部评论 (0)


