编程

WCF技术剖析(卷1)之目录

我爱IT资讯库   2021/02/21

第1章  WCF简介 (WCF Overview)  
    1.1  SOA基本概念的和设计思想   
    1.2  WCF是对现有Windows平台下分布式通信技术的整合   
    1.3  构建一个简单的WCF应用   
        步骤一:构建整个解决方案   
        步骤二:创建服务契约   
        步骤三:创建服务   
        步骤四:通过自我寄宿的方式寄宿服务   
        步骤五:创建客户端调用服务   
        步骤六:通过IIS寄宿服务   

第2章  终结点地址与WCF寻址 (Endpoint Address and WCF Addressing)   
    2.1  EndpointAddress   
        2.1.1  URI   
        2.1.2  如何指定地址   
        2.1.3  如何指定AddressHeader   
    2.2  端口共享(Port Sharing)   
        2.2.1  端口共享在WCF中的意义何在?   
        2.2.2  基于HTTP|HTTPS的端口共享   
        2.2.3  基于TCP的端口共享   
    2.3  WCF寻址(Addressing)详解   
        2.3.1  服务的角色   
        2.3.2  逻辑地址和物理地址   
        2.3.3  ListenUri和ListenUriMode   
        2.3.4  消息筛选   
        2.3.5  案例演示:通过tcpTracer进行消息的路由    

第3章  绑定与信道栈 (Binding and Channel Stack)   
    3.1  绑定简介   
        3.1.1  信道(Channel)与信道栈(Channel Stack)   
        3.1.2  绑定与信道栈 (Binding and Channel Stack)   
        3.1.3  案例演示3-1:如何直接通过绑定进行消息通信   
        3.1.4  WCF的绑定模型   
    3.2  绑定编程   
        3.2.1  服务寄宿对绑定的指定   
        3.2.2  服务调用对绑定的指定   
    3.3  信道与信道栈   
       3.3.1  CommunicationObject与DefaultCommunicationTimeouts   
        3.3.2  IChannel和ChannelBase   
        3.3.3  消息交换模式与信道形状(Channel Shape)   
        3.3.4  案例演示3-2:如何自定义信道   
    3.4  信道管理器(Channel Manager)   
        3.4.1  信道监听器   
        3.4.2  信道工厂   
    3.5  绑定与绑定元素   
        3.5.1  绑定元素   
        3.5.2  绑定揭秘   
    3.6  系统绑定与自定义绑定   
        3.6.1  系统绑定   
        3.6.2  自定义绑定

第4章  服务契约 (Service Contract)   
    4.1  服务契约透视   
        4.1.1  抽象、接口与服务契约   
        4.1.2  元数据与服务契约    139
        4.1.3  WSDL、XSD与服务契约   
        4.1.4  消息交换与服务契约   
        4.1.5  WCF是CLR类型与厂商无关服务描述的适配器   
    4.2  服务契约编程接口   
        4.2.1  ServiceContractAttribute与OperationContractAttribute   
        4.2.2  为终结点指定契约   
        4.2.3  服务契约的继承   
        4.2.3  操作重载与操作选择   
    4.3  消息交换模式(MEP)与服务操作   
        4.3.1  请求-回复模式下的服务契约与操作   
        4.3.2  单向(One-way)模式下的服务契约与操作   
        4.3.1  双工模式下的服务契约与操作   
    4.4  多线程与异步操作   
        4.4.1  异步信道调用   
        4.4.2  异步服务实现

第5章  序列化与数据契约 (Serialization and Data Contract)   
    5.1  漫谈序列化    192
        5.1.1  封送(Marshaling)与序列化   
        5.1.2  持久化(Persisting)与序列化   
        5.1.3  数据结构与序列化   
        5.1.4  XML序列化器   
    5.2  数据契约与数据契约序列化器   
        5.2.1  数据契约的本质   
        5.2.2  数据契约的定义与数据契约序列化器   
    5.3  已知类型(Known Type)   
        5.3.1  未知类型导致序列化失败   
        5.3.2  DataContractSerializer的已知类型集合   
        5.3.1    基于接口的序列化   
        5.3.3  KnownTypeAttribute与ServiceKnownTypeAttribute   
    5.4  泛型数据契约与集合数据契约   
        5.4.1  泛型数据契约   
        5.4.1  数据契约对数组与集合的支持   
        5.4.2  IDictionary<TKey,TValue>与Hashtable   
    5.5  等效数据契约与数据契约版本控制   
        5.5.1  数据契约的等效性   
        5.5.2  数据成员的添加与删除   
        5.5.3  数据契约代理(Surrogate)   
    5.6  序列化WCF框架中的实现   
        5.6.1  MessageFormatter   
        5.6.2  MessageFormatter在WCF框架中的应用   

第6章  消息、消息契约与消息编码 (Message, Message Contract and Message Encoding)   
    6.1  SOAP与WS-Addressing   
        6.1.1  SOAP (基于SOAP 1.2标准)   
        6.1.2  WS-Addressing(基于WS-Addressing 1.0)   
    6.2  消息(Message)   
        6.2.1  消息版本(Message Version)   
        6.2.2  如何创建消息   
        6.2.1  消息的基本操作和消息状态   
        6.2.3  消息报头集合   
    6.3  消息契约(Message Contract)   
        6.3.1  消息契约的定义   
        6.3.2  案例演示6-2:基于消息契约的方法调用是如何格式化成消息的?   
    6.4  消息编码(Message Encoding)   
        6.4.1  序列化(反序列化)和编码(解码)   
        6.4.2  XmlDictionary、XmlDictionaryReader和XmlDictionaryWriter   
    6.5  消息编码在WCF框架中的实现   
        6.5.1  消息编码器(MessageEncoder)   
        6.5.2  案例演示6-3:通过MessageCoder对消息进行编码   
        6.5.3  WCF体系下的编码机制实现   

第7章  服务寄宿 (Service Hosting)   
    7.1  服务描述(Service Description)   
        7.1.1  ServiceDescription与ServiceBehavior   
        7.1.2  ServiceEndpoint与EndpointBehavior   
        7.1.3  ContractDescription和ContractBehavior   
        7.1.4  OperationDescription和OperationBehavior   
    7.2  服务寄宿详解   
        7.2.1  创建ServiceHost   
        7.2.2  开启ServiceHost   
    7.3  WCF服务的自我寄宿(Self-Hosting)   
        7.3.1  案例演示7-1:如何通过Windows应用进行服务寄宿   
        7.3.2  自定义ServiceHost
    7.4  通过IIS进行服务寄宿   
        7.4.1  案例演示7-2:如何通过IIS进行服务寄宿   
        7.4.2  IIS管道与ASP.NET架构   
        7.4.3  IIS服务寄宿实现详解   
        7.4.4  案例演示7-3:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务   
        7.5  通过Windows Service进行服务寄宿   
        7.5.1  案例演示7-4:如何通过创建Windows Service寄宿WCF服务

第8章  客户端 (Client)   
    8.1  WCF客户端框架简述   
        8.1.1  从透明代理(Transparent Proxy)和真实代理(Real Proxy)说起   
        8.1.2  通过自定义RealProxy实现方法调用的劫持(Interception)   
        8.1.3  案例演示8-1:通过自定义RealProxy实现日志功能   
        8.1.4  WCF客户端是如何进行服务调用的   
        8.1.5  案例演示8-2:创建一个托管应用模拟最简单的WCF框架
    8.2  ChannelFactory<T>和DuplexChannelFactory<T>详解   
        8.2.1  创建ChannelFactory<T>和DuplexChannelFactory<T>   
        8.2.2  开启ChannelFactory<T>和DuplexChannelFactory<T>   
        8.2.3  创建服务代理   
        8.2.4  通过服务代理进行服务调用   
    8.3  ClientBase<T>揭秘   
        8.3.1  ClientBase<TChannel>简介   
        8.3.2  ChannelFactory<T>的缓存机制   
    8.4  基于会话信道的客户端   
        8.4.1  服务契约的关闭与并发会话的限制   
        8.4.2  会话信道与异常处理   
        8.4.3  案例演示8-3:通过AOP的方式解决会话信道的关闭与中断   
        8.4.4  额外的思考:性能与并发的权衡   

第9章  实例管理与会话 (Instancing and Session)   
    9.1  实例上下文(InstanceContext)与实例上下文模式(InstanceContextMode)   
        9.1.1  实例上下文(Instance Context)   
        9.1.2  实例上下文模式(InstanceContext Mode)   
        9.1.3  实例服务行为   
    9.2  单调(Per-Call)实例上下文模式   
        9.2.1  单调模式下的服务实例上下文提供机制   
        9.2.2  案例演示9-1:单调模式下服务实例的生命周期   
        9.2.3  服务实例上下文的释放   
        9.2.4  单调模式与可扩展性   
    9.3  单例(Single)实例上下文模式   
        9.3.1  案例演示9-2:演示服务实例的单一性   
        9.3.2  单例模式下服务实例上下文提供机制   
        9.3.3  单例服务与可扩展性   
        9.4  会话(Session)与会话(Per-Session)实例上下文模式   
        9.4.1  WCF会话简介   
        9.4.2  WCF会话编程模型   
        9.4.3  会话(Per-Session)实例上下文模式   
    9.5  会话模式、绑定与实例上下文模式   
        9.5.1  单调服务决定于单调实例上下文模式   
        9.5.2  单例服务决定于单例实例上下文模式   
        9.5.3  会话服务决定于会话信道(栈)和会话实例上下文模式   
    9.6  WCF服务实例上下文提供机制   
        9.6.1  服务实例上下文的提供者(InstanceContextProvider)   
        9.6.2  服务实例的提供者(InstanceProvider)   
        9.6.3  服务实例的释放   

第10章  WCF实例研究 (WCF in Practice)   
    10.1  实例应用功能与结构概述   
        10.1.1  PetShop功能简介   
        10.1.2  PetShop的物理结构   
        10.1.3  PetShop的模块划分   
        10.1.4  PetShop模块的层次划分   
    10.2  PetShop设计原理
        10.2.1  如何实现用户验证   
        10.2.2  上下文的共享及跨域传递   
        10.2.3  异常处理   
        10.2.4  依赖注入在PetShop中的应用   
        10.2.5  AOP在PetShop中的应用   
        10.2.6  MVP模式在PetShop中的应用


作者: Artech
出处: http://artech.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。




热门内容

EXT核心API详解(五)

[转载]EXT核心API详解(五)-Ext.EventManager/EventObject/CompositeElem... ...

xorg如何使用 xkbprint?

问题:手册中没有例子,我所尝试的每个文件都需要一些几何。$ xkbcomp/usr/share/x11/xkb/symb ...
织梦淘宝客常见问题

织梦淘宝客常见问题

一、下载安装 见官方帖子,不细说。http://bbs.dedecms.com/203194.html 在此强烈建议新手... ...

(转)批处理(bat)全盘搜索指定文件获取其完整路径方法大全

本文总结了4种实现全盘搜索指定文件获取其完整路径的bat批处理文件源码,有需要的朋友可以参考下 【方案一】fo... ...

Java线程讲解

一 线程的基本概念 线程是一个程序内部的顺序控制流.一个进程相当于一个任务,一个线程相当于一个任务中的一条执行路径. ... ...

css display:none和visibility:hidden和visible="false"区别

  如果在p的style中把visibility设为 hidden则p隐藏,但是它会占据空白空间,... ...

ASP.NET[1]

   有很多人学过ASP,用ASP做过网站,可是到ASP .NET环境下发现,变化真是太大了... ...

构建一个安全的软件系统时,可能遇到的风险及解决方案(未完)

随着汽车工业的发展,汽车早以不是那个由一堆零件组成的大机器,而是由机械和电子器件构成的整体系统。并且,这个... ...
VPS上安装ShadowSocks

VPS上安装ShadowSocks

shadowsocks 是一个轻量级隧道代理,用来穿过防火墙。 我的VPS机器安装的是CentOS系统、... ...

ResultSet 调用getString 抛出NullPointException问题的解决

在Java连接数据库时,有时候在ResultSet 调用getString (或其他类似的方法),有时候会抛出Nu... ...

浅谈OSIV与泛型DAO模式

open session in view  简称 OSIV 模式 在Hibernate中能更好的应... ...

数据库设计原理:数据建模的三个阶段

如果你在Google或者百度上搜索数据建模,相信可以搜索出很多关于数据建模的文章,但是你会发现其中绝大部分是理论、... ...

ajaxfileupload.js 文件上传

一,前台代码。 <input id="fileToUpload" type="... ...

ios的标志常量

1 dec 2 fixed 3 hex 4 internal 5 left 6 oct 7 right 8 scien ...

discuz删除垃圾帖子

有时候如果你的论坛被垃圾帖子占满后,会发现使用后台的删除功能还是有些慢, 我们需要先备份自己需要的帖子,然后进行下面的 ...

Hibernate的主配置文件hibernate.cfg.xml

1:hibernate的主配置文件的名字必须是hibernate.cfg.xml:   1.1:主配置文件主要分为三部分 ...

关于html base元素的使用

base元素可以用于设置页面嵌入的css文件或js文件链接的基地址。 例子: <h... ...

类型转换与强制转换

自动转换: 举一个例子:把一个小的东西放到一个大的盒子里,是件非常容易的事,不用做任何改变,在这里理解成自动转换。... ...

利用wxwidgets操纵word

最近在学习怎么用wxwidgets来操纵word,寻找之中发现MedeoSoftware,里面有很多wxwidgets的... ...

Python中的简单类型

整数 & 浮点数 整数有两种,分别是 int 和 long。其中 int 最大值是 2147483647... ...

JS-时间函数

/** * 日期范围工具类 */ var daterangeutil = (function () { /** ...
“大数据”信息平台 覆盖社区5000老年人

“大数据”信息平台 覆盖社区5000老年人

突然头疼脑热,身边没人照顾;电灯坏了、水管漏了,该找谁来帮忙修?菊园新区智慧养老项目搭建了一个为老综合服务平台... ...

在PHP中全局变量的使用详解

即使开发一个新的大型PHP程序,你也不可避免的要使用到全局数据,因为有些数据是需要用到你的代码的不同部分的。一些常见的全... ...

名称空间也可以自定义

名字空间的定义 名字空间除了系统定义的名字空间之外,还可以自己定义,定义名字空间用关键字namespace,使用名字空 ...
从量价变化中洞察主力意图

从量价变化中洞察主力意图

成份B指(399003.SZ) <script language="JavaScript" typ... ...
android 继承view类刷新页面【安卓进化十一】

android 继承view类刷新页面【安卓进化十一】

       最近做项目中发现,继承了view类的子类... ...

C# XmlSerializer 对象的Xml序列化和反序列化

    .Net程序执行时,对象都驻留在内存中;内存中的对象如果需要传递给其他系统使用;或者在... ...

hdu-1286找新朋友(欧拉函数,水题)

题目链接: 找新朋友 time limit: 2000/1000 ms (java/others)memory limi ...

java程序 处理 andrid本地帮助文档打开慢的方式

    下载本地的android自带sdk帮助文档由于有被墙的google地址,可以通... ...

RTTI学习笔记

翻看C++的书,对RTTI的讲解都很困惑,"你知道你的对象是哪个类吗","RTTI常用于调试和数据库程序"对这些讲... ...