- 博客(16)
- 资源 (1)
- 收藏
- 关注
翻译 第四章 绑定
<br />正如第三章“信道”所描述的,信道栈是一个由一个或多个信道组成用来处理消息的层次通信栈。绑定是预先设置的信道栈。它们代表了在客户端和服务端之间的线上契约。每个绑定由通信中涉及的传输,编码和协议确定。WCF使用绑定为多样化通信场景集合配置信息。最普通的通信场景,比如网络服务,REST/POX 服务和基于队列的应用都在盒子外面提供。例如,basicHttpBinding绑定意味着使用基于ASP.NET Web Services的服务或者与WS-I 基础协议1.1 相适应的服务。ws2007HttpBi
2010-10-30 15:54:00 473
翻译 第三章 信道 总结
<br />信道栈是由一个或者多个信道组成用来处理消息的分层通信栈。信道可以是协议信道或者传输信道。传输信道位于信道栈的最底层用来在一个传输协议(比如,HTTP,TCP,MSMQ)上传输消息。协议信道(又名层次信道)通转发和修改消息来实现协议(安全,可信赖消息,事务,等等)。<br />信道工厂和信道监听器组成了发送消息和接收消息的基础。它们用来创建信道栈并把信道栈暴露给应用程序。<br />WCF在把信道模型细节从开发人员中抽象出来的过程中做了很好的工作。大多数开发人员将会使用继承自ClientBase<
2010-10-29 11:26:00 535
翻译 第三章 信道 ICommunicationObject
<br />ICommunicationObject 接口(查看列表3.8)是WCF中所有通信对象(信道,信道工厂,信道监听器,等等)的基础。打算创建自定义信道或者直接使用信道的开发人员需要了解这个接口。WCF中的通信对象需要实现一个特殊的状态机。状态机表示了所有通信对象的状态变化。这种情况就像其他通信对象(比如,套接字)所处理的那样。ICommunicationObject接口(还有与它相关联的方法,状态和事件)的目的是为了实现状态机。这允许WCF能够将按同样的方式处理通信对象,并让他们下层实现与抽象层分
2010-10-29 11:16:00 662
翻译 第三章 信道-操作契约和信道形状
<br />信道通过信道形状来完成它们所支持的多种类型消息交换模式。比如,一个基于TCp的传输信道将会实现IInputChannel和IOutputChannel,因为这些通道都是固有单向的。其他的传输信道基于其他协议比如TCP可能需要实现多个信道形状。开发人员不直接与信道形状打交道。对应的,WCF选择一个服务的基于OperationContract的信道形状。表3.1列出了多个你可以在OperationContract上设置的影响信道形状结果的属性。注意大多数信道形状有一个无状态的(默认)和会话感知变量。
2010-10-28 17:31:00 1349 1
翻译 第三章 信道形状
信道形状WCF支持不同的消息交换模式:单向,双工和请求-回复。为了实现每种方式,WCF提供了10种不同的称作信道形状的接口。其中五个形状称作IOutputChannel, IInputChannel, IDuplexChannel, IRequestChannel和IReplyChannel.每个形状都有一个等效的支持会话的形状。它们包括IOutputSessionChannel, IInputSessionChannel, IDuplexSessionChannel, IRequestSessionCha
2010-10-27 18:45:00 636
翻译 第三章 信道
<br />信道就是WCF应用程序接收和发送所有信息的通道。它负责在一个持续的方式中准备并传输消息。信道是为传输,协议和消息交换定义的。信道被放到一起来创建信道栈。信道栈是处理消息的分层通信栈。比如,一个信道栈可以由一个TCP传输信道和一个事务协议信道组成。这样的一个信道栈允许使用在网络中的客户端和服务端之间使用TCP协议和事务流转来发送/接收消息。<br />信道栈的目标是把一条消息转成与发送方,接收方兼容的线上格式并传输这条消息。有两种类型的信道用来做这个: 传输信道和协议信道。传输信道总是位于信道栈的
2010-10-26 19:06:00 538
翻译 第二章 契约 总结
<br />总结<br />这一章覆盖了非常多的契约背景,它们是互通性的基础。契约精确地描述了一个服务所能理解的消息。<br />WCF高度利用SOAP于契约定义中。特别的,它使用WSDL来描述服务终结点,使用XSD来描述数据。定义在WSDL中的服务操作用来在运行时把收到的请求转发给正确的.NET类。类似的,通过XSD契约定义的XML文件在运行时被反序列化成.NET类型而且发送给服务操作。合二为一,WSDL和XSD定义提供了对服务实现中的.NET类型一种基于标准的实现。<br /> 三种类型的契约的
2010-10-22 11:58:00 506
翻译 第二章 消息契约
<br />消息契约<br />消息契约描述了发送给一个服务以及从一个服务接收的SOAP消息的结构,并且允许你检测和控制SOAP消息头和消息体中大部分细节。而且数据契约能够让使用XML元数据定义(XSD)标准的系统之间互通,消息契约能够让任何通过SOAP通信的系统互通。<br />使用消息契约能够通过直接访问SOAP消息头和消息体提供对发送给一个服务以及从一个服务接收的SOAP消息的完全控制。这允许使用简单或复杂的类型来定义SOAP部分的精确内容。就好比当你需要对数据序列化的完全控制时你可以从DataCon
2010-10-22 10:10:00 643
翻译 第二章 数据契约等效
<br />数据契约等效<br />如果你在使用WCF暴露服务而且使用svcutil.exe来为创建访问服务代码,一般情况下你不需要关心在客户端和服务端间传输的消息的线上表示。数据契约知道WCF把一个.NET类型序列化成一个XML信息集和讲一个XML信息集反序列化成一个.NET类型。XML信息集可能在线上以文件或者二进制形式编码,这些取决于通信过程中所使用的绑定,但是再次,.NET代码不会意识到编码的存在。这种方式就好比你在代码中使用.NET类型但是一个基于标准的XML信息集的编码表示在线上具体传输。<br
2010-10-21 18:08:00 444
翻译 第二章 数据契约版本
<br />数据契约版本<br />变化是不可避免的。企业改变,技术改变,法律改变,软件契约也会改变。在面对软件的变更时,一个坚实的版本控制是必须的。我们必须为不可避免的变化做好提前准备同时对已经存在的客户端进行向后兼容处理。<br /> 对数据契约版本控制来说,最常见的需求是想已有的数据契约中添加成员。通过这一部分描述的不间断的描述,你可以自由的做任何改动而不会破坏现有客户端。但是如果你需要打破现有客户端的向后兼容性,你必须通过改变数据契约的名字或者命名空间来定义另一个版本的数据契约。<br /> 一
2010-10-20 17:05:00 613 1
转载 给程序员的一些非常不错的资料
<br />一、Intel 给开发人员推荐的资料列表(2010年下半年)<br /><br />Intel Recommended Books for Developers<br />其中包含了硬件:硬件,电源,存储,无线软件:多线程和多核技术,高性能计算,图形游戏,用户关注嵌入式:设计,软件,操作系统,安全,优化。IT部门:策略和决策,服务器和数据中心,客户端<br />二、jQuery Fundamentals <br /><br />jQuery Fundamentals<br />这可能是我见过写得
2010-10-19 14:57:00 462
翻译 第二章 定义类的层次结构
<br />定义类的层次结构<br />复杂类型一般在代码中以类的形式实现。复杂类更进一步通过增加特殊结构的继承关系来定义。这种方式,一个通用类型比如”price” 可以派生出为一个更加特殊的类型如”stock price” 或者“house price”.WCF支持通过在WSDL中合适的表示的类的继承关系,在类结构和XML之间序列化和反序列化它们同时从每个类中取出属性并加入到一个集合中。<br /> 在列表2.17中,类Price由三个元素和一个子类组成。StockPrice,继承自Price.命名空间
2010-10-19 11:59:00 972
翻译 第二章 数据契约
<br />在一个服务内部,功能性的应用由代码实现的。在服务外部,功能性服务在WSDL中定义。在一个WCF服务中,应用程序数据在简单和复杂类型表示;而在服务外部,应用程序数据由XML元数据定义表示。WCF数据契约提供了对代码定义的.NET CLR类型与W3C组织定义用来在服务外部通信的XML元数据定义之间的映射。<br />使用WCF,开发人员花费更多的时间在代码和接口语义上,在XSD和WSDL语法上花费的时间会更少。那不是说XSD和WSDL语法不重要;它们是跨平台系统上进行互操作必要前提。但是编译器也显示
2010-10-18 19:53:00 581
翻译 WSDL中的操作名字,类型,操作和命名空间
<br />WCF 根据服务端源代码中定义的内部类名称和属性来生成外部暴露服务实现。这些实现通过服务中的MEX终结点暴露出来并在设计阶段时被客户端以WSDL形式使用。接下来在客户端,WSDL会被用来写一些代码来建立可以与服务端通信的适当的消息格式。所以你选择的类,方法和参数的名字与服务范围潜在相差很远。<br /> 然而,在服务的接口暴露内部名字和外部细节是很不好的形式。比如,你可能有一个叫BurgerMaster的分配算法,你想在外部以Resources名字暴露这个算法。或者可能有内部的编码标准要求你
2010-10-12 20:51:00 3723
翻译 第二章(契约 在一个服务中实现多个契约和终结点)
<br />一个服务作为一系列终结点被定义的。每个终结点都有一个地址,绑定和契约。契约就是暴露终结点能力的。地址就是这些应用或服务从网络的哪个地址可找到,契约是关于如何访问他们的。<br /> 在终结点和契约间有一对多的关系。一个终结点可以只有一个契约,但是一个契约可以被很多终结点引用。尽管一个终结点可以仅仅确认一个契约,接口聚合使能一个单独的契约来暴露多个接口。另外,多个有同样绑定但是不同契约的终结点可以位于同一个地址,给一个单独终结点实现所有契约的假象。<br /> 通过在一个服务中的多个终结点
2010-10-07 11:07:00 882
翻译 第二章(契约 实现一个双向契约的客户端部分)
<br />为了参与到一个双工消息交换模式中,客户端必须实现WCF的ABCs-必须在客户端定义服务要把消息发送到的地址,指导服务端如何把消息发送给客户端的绑定,定义消息内容和格式的契约。幸运的是,当你生成一个客户端代理而且在运行时使用信道结构时,WCF很大程度上考虑到了这些。<br /> 生成一个客户端代理类,你可以使用svcutil.exe或者添加服务引用。代理定义一个与服务同名的接口,并在后面加上Callback.如果服务契约接口是IStockService,客户端接口就是IStockService
2010-10-07 10:12:00 525
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人