内容转载自《WCF核心技术》

开发者不用直接操作信道范型,而是由WCF根据服务OperationContract来选择合适的信道范型。大多数信道范型都有无会话两种变体。有会话信道会在客户端和服务器端传递一个标识,这样就可以保持客户端和服务器之间的状态信息。这种方式和ASP.NET进行状态管理的方法类似。WCF虽然没有内置的状态管理功能,但是如果使用会话状态,就可以管理状态了。

在WCF中,信道监听器构成了服务器通信的基础。它们负责监听传入的消息,创建信道栈,并为应用程序提供对栈顶的引用。它们从传输信道或其他位于信道栈底层的信道接收消息。大多数开发者不会直接使用信道监听器。而是使用ServiceHost的类来托管服务,这个类会使用一个信道监听器来监听消息。

信道栈是由一个或多个处理消息的信道组成的多层次通信栈。绑定就是预先配置好的信道栈,它代表了客户端和服务器端之间线路级别上的约定。每个绑定都会制定通信所用的传输,编码以及协议。通过绑定,WCF封装了各种不同的通信场景下所使用的配置。

WCF共有9种预先定义好的绑定,每种绑定都对一种特定的分布计算需求提供了手段。要确定应该为特定应用程序选择哪种绑定,有多种因素需要考虑,包括安全性,互通性,可靠性,性能及事务要求。

每种绑定都支持一个特定的通信场景,如跨机,本机或者使用WebService做互操作通信。在检查绑定之外,用户也需要考察这些场景。还有其他一些场景,如统一安全认证与对等通信等。

名词解释:
互操作性:就软件而言,互操作性——这条术语用来描述的是不同的程序(programs)借助于同一套交换格式(exchange formats)来交换数据,读写相同文件格式(file formats)以及采用相同协议(protocols)的能力。

WCF系列_WCF如何选择不同的绑定的更多相关文章

  1. WCF系列_WCF常用绑定选择

    一.五种常用绑定常用绑定的传输协议以及编码格式 名称 传输协议 编码格式 互操作性 BasicHttpBinding HTTP/HTTPS Text,MTOM Yes NetTcpBinding TC ...

  2. WCF系列_WCF影响客户端导出Excel文件的实现

    需求:WCF搭建服务端提供导出并下载Excel文件接口,客户端使用ajax发起请求,浏览器直接下载Excel文件. 难点:WCF中并没有HttpContext对象,因此,服务端总是获取不到HttpCo ...

  3. WCF系列教程之WCF服务配置工具

    本文参考自http://www.cnblogs.com/wangweimutou/p/4367905.html Visual studio 针对服务配置提供了一个可视化的配置界面(Microsoft ...

  4. 跟我一起学WCF(13)——WCF系列总结

    引言 WCF是微软为了实现SOA的框架,它是对微乳之前多种分布式技术的继承和扩展,这些技术包括Enterprise Service..NET Remoting.XML Web Service.MSMQ ...

  5. WCF开发时如何选择正确的实例模式(InstanceMode)?

    WCF开发时如何选择正确的实例模式(InstanceMode)?   在使用WCF实例模型时,你是否思考过这几个的问题: ”WCF中的实例模式如何正确应用”? ”使用WCF中的实例模式有何原则可以遵循 ...

  6. wcf系列5天速成——第一天 binding的使用(1)

    原文:wcf系列5天速成--第一天 binding的使用(1) 作为WCF速成系列,只介绍些项目开发中常用到的实战知识. 学习wcf,还是对其中的几个术语要了解一下.wcf中有一个ABC的概念,就是 ...

  7. 【WCF系列二:如何调用WCF服务】WCF入门教程(图文)VS2012

    上一遍到现在已经有一段时间了,先向关注本文的各位“挨踢”同仁们道歉了.小生自认为一个ITer如果想要做的更好,就需要将自己的所学.所用积极分享出来,接收大家的指导和吐槽.网上也有很多WCF相关的教程, ...

  8. MSDN Webcast 跟我一起从零开始学WCF系列课程

    系列课程 >跟我一起从零开始学WCF系列课程   跟我一起从零开始学WCF系列课程(1):WCF概述 (Level 200)   讲 师:徐长龙    课程简介:从 本堂课开始我们将开启一个新的 ...

  9. WCF系列教程之WCF服务协定

    本文参考自:http://www.cnblogs.com/wangweimutou/p/4422883.html,纯属读书笔记,加深记忆 一.服务协定简介: 1.WCF所有的服务协定层里面的服务接口, ...

随机推荐

  1. 记一次使用getRequestDispatcher遇到的坑。。响应页面出现新建下载任务

    getRequestDispatcher RequestDispatcher接口提供将请求转发送到另一个资源的功能,它可能是html,servlet或jsp等. 此接口也可用于包括另一资源的内容.它是 ...

  2. 关联tomcat源代码

    1.进入tomcat官网下载对应版本源代码文件 2. 3..ctrl+鼠标左键 点击Cookie对象 4. 5.

  3. 安装FrameWork后重新注册IIS

    IIS和.netfw4.0安装顺序是从前到后,如果不小心颠倒了,无所谓. 打开程序-运行-cmd:输入一下命令重新注册IIS C:\WINDOWS\Microsoft.NET\Framework\v4 ...

  4. js学习2

    1.打开新窗体 -window.open([URL], [窗口名称], [参数字符串]) - 窗口名称: _blank:在新窗口显示目标网页 _self:在当前窗口显示目标网页 _top:框架网页中在 ...

  5. pyqt5 -—-布局管理

    绝对布局 例如: 我们使用move()方法定位了每一个元素,使用x.y坐标.x.y坐标的原点是程序的左上角. lbl1 = QLabel('Zetcode', self) lbl1.move(15, ...

  6. vmware 进入虚拟机VMware的系统后鼠标不能点

    vmware 进入虚拟机VMware的系统后鼠标不能点 1)关闭虚拟机,重启win10,再打开虚拟机好了 2)

  7. 学习python 检测字符串的方法

    检测字符串长度的方法:len() 检测字符串是否含有字母的方法:str.isalpha() 检测字符串是否含有数字的方法:str.isnumeric() 检测字符串是否有大写字母:str.upper( ...

  8. 恢复oracle 11g 的System及sys用户的密码

    进入E:\app\orcl\product\11.2.0\dbhome_1\database目录下找到PWDorcl.ora备份后删除文件,orcl是数据库的实例名 以管理员身份打开cmd,执行 or ...

  9. Arcmap 空间连接,在通过面包含面的空间关系做属性关联的时候,发生关联冗余的问题。

    处理过程: (1)用 空间关联 工具实现  面与面的  空间和属性关联. (2) 问题描述: 一个子面要素对应多个父面要素,出现数据冗余. 问题根源: 解决办法: 取子面要素的 中心点,在用中心点和 ...

  10. Python学习—基础篇之常用模块

    常用模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...