WCF 学习笔记(包括WCF基本知识、Security、MSMQ、Transaction等等)
### WCF 学习笔记知识点概述 #### 一、WCF 基本知识 - **基本概念**:WCF(Windows Communication Foundation)是微软推出的一种面向服务的应用框架,旨在提供一个统一的方法来构建分布式系统。它融合了.NET Remoting、Web Services、MSMQ等多种通信技术,使得开发人员能够在多种不同的环境中进行服务的开发与部署。 - **服务契约**:在WCF中,服务契约定义了服务提供的接口和方法。通过使用`[ServiceContract]`和`[OperationContract]`属性来标记接口和服务方法。 - **消息交换**:WCF支持多种消息交换模式,包括请求-响应、单向操作和双工操作等。 - **消息操作**:每个服务操作都有一个或多个消息交换模式。这些模式定义了客户端和服务之间的通信顺序。 - **异常处理**:WCF提供了强大的异常处理机制,允许开发人员捕获并处理服务调用中的错误。 - **会话状态**:WCF支持会话状态管理,使得服务可以维护与客户端之间的长期交互。 - **异步调用**:WCF支持异步调用模式,这对于提高服务的性能和响应性非常重要。 - **数据传输**:WCF支持多种数据格式,包括XML和二进制格式,以满足不同场景的需求。 - **端点绑定**:绑定描述了服务如何通信的技术细节,包括协议、消息编码和安全设置等。 - **行为控制**:行为是指与服务相关的策略和配置选项,可以通过特定的类和属性来定义。 - **配置文件**:WCF服务通常通过配置文件来管理其设置,这有助于简化服务的配置过程。 - **宿主环境**:WCF服务可以运行在不同的宿主环境中,包括IIS、Windows服务、控制台应用程序等。 - **分布事务**:WCF支持事务处理,可以确保跨服务调用的一致性和原子性。 - **杂项**:这部分内容涵盖了WCF中的一些特殊主题和技术细节。 #### 二、WCF 安全性 - **基本概念**:WCF提供了丰富的安全功能,包括身份验证、授权和消息保护等。 - **安全参数设置**:可以通过配置文件或代码来设置安全相关的参数。 - **X509身份验证**:使用数字证书进行身份验证,适用于需要高度信任的服务场景。 - **用户名/密码身份验证**:这是一种常用的认证方式,适用于大多数情况下的服务认证。 #### 三、WCF 事务处理 - **基本概念**:事务处理是WCF的一个重要特性,用于确保一系列操作能够作为一个整体成功或失败。 - **事务演示**:通过示例来展示如何使用WCF进行事务处理。 - **事务投票**:在分布式事务中,参与方需要进行投票来决定整个事务是否提交或回滚。 - **事务与会话**:讨论事务处理与会话状态之间的关系。 #### 四、WCF 与MSMQ - **基本应用**:MSMQ(Microsoft Message Queuing)是Windows平台上的消息队列服务,可以与WCF结合使用来实现可靠的异步通信。 - **队列与事务**:讨论MSMQ队列与事务处理的关系,以及如何在WCF中利用MSMQ实现持久化消息传输。 #### 五、其他知识点 - **ChannelFactory**:介绍如何使用ChannelFactory来创建客户端通道。 - **ServiceContract Operation重载**:讨论服务契约中方法的重载。 - **ServiceContract 继承**:解释如何在一个服务契约中定义多个接口,并实现接口间的继承。 - **DataContractSerializer**:探讨WCF中使用的数据序列化工具。 - **DataContract 继承**:讨论如何使用数据合同来定义可序列化的对象,并实现继承。 - **服务实例管理模式**:介绍服务实例的生命周期管理策略,包括PerCall、Singleton等。 - **释放服务对象实例**:讨论如何有效地管理和释放服务对象资源。 - **IsInitiating & IsTerminating**:这两个属性用于标识服务实例的状态。 - **IDisposable**:介绍如何处理需要释放资源的情况。 - **ServiceThrottlingBehavior**:一种用于限制服务实例并发数量的行为。 - **IsOneWay与异步的区别**:比较这两种通信模式的不同之处。 - **Callback**:介绍如何使用回调模式来处理异步操作。 - **ConcurrencyMode**:定义服务实例的并发访问模式。 - **动态生成WCFClientProxy代码**:介绍如何使用工具自动创建客户端代理。 - **Stream**:讨论如何在WCF中处理流式数据。 - **FaultException**:一种特殊的异常类型,用于表示服务端发生的错误。 - **IErrorHandler**:定义服务级别的错误处理策略。 - **MaxStringContentLength & MaxReceivedMessageSize**:配置最大消息长度和字符串内容大小。 - **SecurityNegotiationException**:一种安全相关的异常。 - **只读属性**:介绍如何在WCF服务中使用只读属性。 - **MessageLogging**:记录消息内容以供调试和审计使用。 - **ChannelFactory<T>异步调用**:讨论如何使用ChannelFactory进行异步服务调用。 - **SelfHostingWCFService:BlockIP**:介绍如何阻止特定IP地址访问自托管的WCF服务。 - **WCF取得客户端IP**:介绍获取客户端IP地址的方法。 通过上述内容可以看出,WCF不仅提供了一个统一的开发框架来构建分布式应用,还包含了大量高级特性,如安全性、事务处理、消息队列集成等。对于希望构建健壮、灵活且易于维护的分布式系统的开发人员来说,掌握WCF的相关知识是非常有帮助的。
剩余63页未读,继续阅读
- y_z_x2012-02-23对于WCF接口如何实现多平台访问没有做详细说明,总之谢谢分享!
- luoixngyi2012-01-02很基础的总结,初学者还是很有帮助的
- kathywang2011-12-14一个Word文档,有235页,里面有部分代码和说明,内容很多,总结的很好,谢谢分享!
- dw7222011-10-21很基础的总结,初学者还是很有帮助的
- csgthf2013-02-01不错,非常不错,很有帮助
- 粉丝: 0
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助