摘要:
【1】请求应答(Request-Reply): 请求应答模式是默认的操作模式。这与经典的C/S编程类似,客户端发送请求,阻塞客户端进程,服务端返回操作结果。请求应答模式与绑定对应关系 : 绑定协议名称支持可靠性 默认可靠性 支持有序传递 请求应答模式BasicHttpBinding No N/A NoYesNetTcpBinding YesOff YesYesNetPeerTcpBindingNo N/A No NoNetNamedPipeBinding No N/A (On) YesYesWSHttpBinding YesOff Yes YesWSFederationHttpBinding 阅读全文
摘要:
【引言】: 在WCF分布式开发必备知识(2):.Net Remoting这 篇文章里我已经介绍过了Net Remoting相关的概念,其中也包括Net Remoting的激活方式:SingleTon模式、SingleCall模式、客户端激活方式。其实WCF服务的激活方式也与此相似。服务激活方式也 是WCF借鉴Net Remoting的一个明显的例子。Net Remoting相关的概念大家可以查阅WCF分布式开发必备知识(2):.Net Remoting这篇文章。 下面我们就来详细的介绍WCF服务激活类型相关的知识点。首先来介绍的是单调服务。 WCF支持三种实例激活的类型: 1>.单调服务 阅读全文
摘要:
数据集(DataSet)、数据表(DataTable)、集合(Collection)概念是.NET FrameWork里提供数据类型,在应用程序编程过程中会经常使用其来作为数据的载体,属于ADO.NET的一部分。今天我们WCF分布式开发步步为赢 第8节的内容:使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据。本节内容除了介绍几个类型概念外 的,同样会详细给出代码的实现过程。此外我们会分析这几种数据类型的优势和缺点,以及在面向对象的服务开发过程中如何解决这些问题。 (昨天博客园发布文章出错,没办法只有现在重新发了,可惜我花了很久排版,没保存成功,. 阅读全文
摘要:
【0】数据契约(DataContract): 在WCF服务编程中我们知道,服务契约定义了远程访问对象和可供调用的服务操作方法,数据契约则是定义服务端和客户端之间要传送的自定义数据类型。在 WCF项目中,声明一个类型为DataContract,那么该类型就可以被序列化在服务端和客户端之间传送。类只有声明为DataContract,该 类型的对象才可以被传送,且只有类的属性会被传送,需要在属性生命前加DataMember声明,这样该属性就可以被序列化传送。默认情况属性是不可传递 的。类的方法不会被传送。WCF对定义的数据契约的类型可以进行更加细节的控制,可以把一个成员属性排除在序列化范围以外,客户 阅读全文
摘要:
【1】面向对象设计原则OO: 这里我们有必要先回顾一下面向对象的经典的设计原则。这些设计原则对我们WCF服务契约的设计来说有重 要的参考价值。服务契约实际利用了接口来定义实现,语法类似,WCF框架也是基于现有的语言体系,对此扩展了编程模型,比如增加了属性设置机制等。如果你 曾经接触过OO面向对象的这些概念,那么这些设计原则理解起来不会困难。很多编程书籍里都会有介绍,设计模式相关书籍里会有比较详细的介绍。这里介绍几个 主要的概念,为下文的继承和设计WCF服务契约部分作铺垫: <1>单一职责原则(SRP):一个类应该仅有一个引起它变化的原因。 <2>开放封闭原则(OCP): 阅读全文
摘要:
【1】重载概念: 【1.1】什么是重载(OverLoad): 所谓重载是指同一个方法名可以对应着多个方法的实现。这些方法的名字相同,但是方法的参数的类型不同。这就是方法重载的概念。函数方法类和对象的应用尤其重要。 方法重载要求编译器能够唯一地确定调用一个方法时应执行哪个方法代码,即采用哪个方法实现。确定方法实现时,要求从方法参数的个数和类型上来区分。这就是说,进行方法重载时,要求同名方法在参数个数上不同,或者参数类型上不同。否则,将无法实现重载。 关于重载一定要注意:重载方法的参数类型和参数个数一定要不同(即:要么参数的类型不同,要么参数的个数不同,要么参数的类型和个数都不同),否则,编译器就 阅读全文
摘要:
【1】可靠性传输: 【1.0】网络协议基础知识: 这里我们有必要先介绍OSI参考模型几个主要协议的基本概念,见下表: OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP 网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU 物理层 阅读全文
摘要:
【1】WCF服务元数据的基本概念: WCF服务元数据究竟是什么?它的作用是什么?为什么WCF服务要暴露元数据交换节点?这些和以前的Web Service有什么关系?这些通常是我们在学习WCF服务分布式系统开发过程中常常困扰我们的问题。 【1.1】WCF服务元数据是什么: WCF服务元数据是WCF服务的核心部分服务地址(Address)、绑定(通信协议Binding)、契约(服务、操作、数据Contract)的原始 描述信息。服务所公开的元数据包括 XSD(文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值)和 W 阅读全文
摘要:
今天继续我们的WCF分布式开发必备知识系列文章的第4节:Web Service.前3节我们分别介绍了MSMQ消息队列/.Net Remoting/Enterprise Services三个相关的技术.并且给详细注释的代码实现例子.先介绍一下本节的文章组织结构,首先还是介绍1.Web Service的基本概念2.优势和缺点3.使用Web Service的场合4.安全问题5.实现代码部分最后是总结.初学者就当入门资料,高手就当温习,也欢迎提出意见. 那现在我们就开始今天的学习,网上关于Web Service的资料很多,但是也很杂乱,混淆了基本概念. 1.Web Service的基本概念 什么是W. 阅读全文
摘要:
今天继续我们<WCF分布式开发必备知识>系列文章第3节,通过前两节的学习,我们已经掌握了MSMQ和.Net Remoting的概念和开发过程.今天我们来学习..Net分布式开发的另外一个技术:Enterpise Services.本节的基本结构是1.EnterpiseServices和COM+的基本概念.2.Enterpise Services中重要的类及特性3.Enterpise Services实现COM+事务的编码\部署\测试过程.最后是总结. 那么现在我们就开始今天的学习,首先介绍的是: 一.基本概念 1.什么是COM+ COM+的底层结构仍然以COM为基础,它不仅具备了C 阅读全文
摘要:
上一节我们学习了网络分布式编程中的MSMQ消息队列技术.本节我们将学习分布式编程的另外一个重要的技术.Net Remoting,文章的结构还是先讨论基本概念,再来探讨具体的技术实现,希望能和大家一起交流学习. .Net Remoting技术,我们可以将其看作是一种分布式处理方式。作为应用程序之间通信的一种机制,.Net Remoting与MSMQ消息队列不同,它不支持离线脱机消息,另外只适合.Net平台间程序的通信.从 微软的产品角度来看,可以说Remoting就是分布式组件DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。.NET Remoting 提供了一种允许对象通过. 阅读全文
摘要:
学习WCF是不是就不需要学习.Net Remoting、ASMX、WSE和MSMQ了? 这个问题一直是很多开发者关注的问题.按照微软的说法,WCF是微软分布式应用程序开发的集大成者,学习WCF编程,就不需要了解其他的 技术.这个说法有一定的道理.WCF的出现确实解决了很多问题,它整合了.Net平台下所有的和分布式系统有关的技术,例如.Net Remoting、ASMX、WSE和MSMQ。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主 阅读全文