Essential Window Communication Foundation 目录
2011-06-22 20:38 DanielWise 阅读(385) 评论(0) 编辑 收藏 举报1 基础
为什么说WCF 重要
实现一个WCF服务
只有ABCs
完全用代码实现一个WCF服务
使用代码和配置文件实现一个WCF服务
关于配置文件更多细节的部分
关于服务寄宿更多细节的部分
暴露元数据交换(MEX)终结点
为WCF服务实现一个客户端
完全使用代码实现一个WCF客户端
使用代码和配置文件实现一个客户端
在IIS中寄宿服务
介绍
分三步在IIS中寄宿服务
为一个 ASMX 服务实现一个WCF客户端
支持工具
生成客户端代理类和配置文件
2 契约
服务契约
同步请求-回复操作
异步请求回复操作
单向操作
双工操作
多契约和终结点的服务
操作在WSDL中的名字, 类型, 动作, 命名空间
数据契约
为.NET类定义XML元数据
定义类的层次
在WCF中使用 KnownTypes暴露额外的类型
数据契约版本
数据契约等价
使用集合
消息契约
已定义类型的消息
未定义类型的消息
使用SOAP 消息头 和未定义类型消息
3 信道
信道形状
单步通信模式
双工通信
请求-回复通信
类型改变
操作契约和信道形状
信道监听器
信道工厂
ChannelFactory<>
ICommunicationObject
4 绑定
选择最合适的绑定
示例
.NET 应用间的跨机器通信
netTcpBinding
.NET 应用间的本机通信
netNamedPipeBinding
使用基本 Web Services 通信
basicHttpBinding
使用高级 Web Services通信
wsHttpBinding
ws2007HttpBinding
wsDualHttpBinding
比较绑定的性能和扩展性
使用队列服务通信
netMsmqBinding
msmqIntegrationBinding
创建自定义绑定
用户自定义绑定
绑定元素
传输
编码
安全
传输升级/帮助
形状变化
其他协议
在多个绑定上暴露一个契约
5 行为
实例上下文 (服务行为)
使用无状态绑定的实例上下文
多线程单一实例
实现单调实例
会话层次实例
控制实例上下文数量
控制同步调用数量
控制同步会话数量
导出和发布元数据 (服务行为)
实现事务 (操作行为)
服务中的事务操作
操作间的事务流
选择事务协议—OleTx or WS-AT
事务服务行为
实现自定义行为
为服务终结点行为实现一个消息监听器
为服务操作行为暴露一个参数检测起来作为属性
通过配置文件暴露一个服务行为
安全行为
6 序列化和编码
序列化VS编码
比较WCF序列化选项
DataContractSerializer
NetDataContractSerializer
XmlSerializer
DataContractJsonSerializer
选择一个序列化器
保留引用和周期性引用
与 NetDataContractSerializer共享类型
使用 IExtensibleDataObject进行序列化综述
使用其他方法序列化.NET类型
大数据流
为自定义序列化使用 XmlSerializer
在 XmlSerialization中使用属性
在定义中 XmlSerialization使用 IXmlSerializable
选择编码器
文本VS二进制编码
使用 MTOM 编码来发送二进制数据
准备开始了解 WebMessageEncoder
7 寄宿
在 Windows 进程激活服务(WAS)中寄宿服务
在IIS 7中寄宿服务
在IIS寄宿服务中激活ASMX特性
自我寄宿
在托管 Windows 服务中自我寄宿
在一个进初中寄宿多个服务
定义服务和终结点地址
8 安全
WCF 安全概念
证明
授权
机密性
完整性
传输和消息安全
基于证书的加密
概念
组织
传输层安全
使用 SSL加密
客户端认证
服务标志
消息层安全
使用wsHttpBinding认证
部分例子介绍
使用Windows认证来认证用户
使用Windows认证来授权用户
使用 AzMan认证
模仿用户
在因特网保证安全
ASP.NET 集成
使用 成员提供方认证
使用 角色提供方提供基于角色认证
使用窗体认证
日志和审计
9 诊断
WCF示例程序
跟踪
端到端跟踪
活动和关联
启动跟踪
建议冗余
消息日志
使能消息日志
额外配置选项
共享监听器
消息过滤器
跟踪源自动写入
性能计数器
Windows管理规范 (WMI)
使用服务配置编辑器
跟踪选项
日志选项
配置源
配置监听器
服务跟踪查看器
活动视图
工程视图
消息视图
图形视图
从多个源分析日志
过滤结果
10 异常处理
WCF异常处理介绍
使用 SOAP进行WCF异常处理通信
未处理异常示例
检测并恢复错误信道
通信异常细节
使用 FaultException管理服务异常
使用 FaultCode 和 FaultReason 来扩展 FaultException
基本 FaultExceptions的限制
创建并使用强类型错误
使用FaultContract声明错误定义
定义一个 FaultContract
使用定义的错误契约抛出一个 FaultException<>
错误契约策略
实现客户端错误处理
应用程序块错误处理
异常屏蔽
11 工作流服务
集成点
从工作流中调用WCF服务
使用发送活动
写一个自定义活动
在工作流中暴露服务
定义接口
接收活动
在 app.config中配置
寄宿一个开启服务的工作流
一个开启服务工作流的自我寄宿
在IIS中寄宿一个开启服务的工作流
持续关联服务
长时间运行的工作流
处理上下文
在服务器上保存工作流状态
开启服务工作流的访问控制
声明访问控制
可编程访问控制
12对等网络
创建分布式应用程序的方法
客户端/服务端应用程序
N-Tier 应用程序
P2P应用程序
分布式实现的比较
P2P应用程序
网络拓扑
解决网络拓扑
泛播消息与定位消息
创建P2P应用
netPeerTcpBinding
使用 PNRP解决对等网络问题
PNRP 辅助过程
Windows 网络计算机名称
PnrpPeerResolver
网络认证
使用 PNRP注册名字
System.Net.Peer
实现一个自定义对等网络解决方案
限制消息路由条数
与 Windows Vista合作
我的邻居
Windows 契约
邀请
System.Net.Pee rToPeer.Collaboration
使用自定义绑定的定位消息
13 可编程网络
所有有关URI
普遍存在的 GET
格式问题
使用WCF进行网络编程
URI and URI 模板
创建 URIs
截取 URIs
为站点生成操作
使用 WebHttpBinding寄宿
使用 WebGet 和 WebInvoke
WebGet
WebInvoke
使用 AJAX 和 JSON进行网络编程
ASP.NET AJAX 集成
使用 WebOperationContext
寄宿站点
WebScriptServiceHost
WebScriptServiceHostFactory
使用 RSS and ATOM来组织内容
高级主题附录
发布元数据终结点
mexHttpBinding
mexNamedPipeBinding
mexTcpBinding
mexHttpsBinding
通过元数据创建客户端
通过元数据创建创建Silverlight客户端
服务的共享端口
设置服务限制设置
设置 HTTP 连接
回收空闲连接
调整链接生存周期
禁用 HTTP Keep-Alives
增加链接数
设置 TCP 连接
回收空闲连接
调整链接生存周期
增加链接数
LINQ的使用与WCF
暴露 LINQ-to-SQL 实体
索引
作者:DanielWise
出处:http://www.cnblogs.com/danielWise/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?