随笔分类 - WCF
摘要:你说,服务器端回调有啥用呢?这样问,估计不好回答,是吧。不急,先讨论一个情景。假设现有服务器端S,客户端A开始连接S并调用相关操作,其中有一个操作,在功能上有些特殊,调用后无法即时回复,因为在服务器上要作一些后续,而这些处理也许会消耗一定时间,比如:向服务器上传了一个文件,但是,为了节约空间或出于其...
阅读全文
摘要:在标题中我加了一个大家都很熟悉的单词——Session,熟吧?玩过Web开发的朋友肯定在梦中都会见到她。在Web中为什么要会话呢?毕竟每个用户在一个Web应用中可能不止进行一次操作,比如,某二手飞机交易网站,用户A登陆后,可能他会修改他的个人 信息,他也有可能看好了一架二手飞机,打算入手,就把商品放...
阅读全文
摘要:我们知道,在WCF中,客户端对服务操作方法的每一次调用,都可以被看作是一条消息,而且,可能我们还会有一个疑问:如何知道客户端与服务器通讯过 程中,期间发送和接收的SOAP是什么样子。当然,也有人是通过借助其他工具来抓取数据包来查看。那,有没有办法让程序自己输出相应的SOAP信息呢?当然有,这就是我们...
阅读全文
摘要:在使用Socket/TCP来传输文件,弄起来不仅会有些复杂,而且较经典的“粘包”问题有时候会让人火冒七丈。如果你不喜欢用Socket来传文件,不妨试试WCF,WCF的流模式传输还是相当强大和相当实用的。因为开启流模式是基于绑定的,所以,它会影响到整个终结点的操作协定。如果你不记得或者说不喜欢背书,不...
阅读全文
摘要:Message翻译成中文,相信各位不陌生,是啊,就是消息,在WCF中也有消息这玩意儿,不知道你怎么去理解它。反正俺的理解,就像我们互发短信一个道理,通讯的双方就是服务器与客户端,说白了吧,就是二者之间的通信。我们知道一个WCF服务,先是定义服务协定,而服务协定中会有若干个服务操作协定(Operati...
阅读全文
摘要:在WCF中,服务器与客户端的通讯有单向(单工)和双向(双工)之分。要说有什么形式上的表现,那就是单向与双向生成的SOAP不同,咱们先放下代码不说。但通常情况下,我们也不太需要去研究生成的SOAP是啥样子 的,因为这些都是不需要我们动手的,我们也不必要精通它,没实际用途,你把SOAP玩透了,妹子也不会...
阅读全文
摘要:我们继续,上一回我们了解了数据协定的一部分内容,今天我们接着来做实验。好的,实验之前先说一句:实验有风险,写代码须谨慎。实验开始!现在,我们定义两个带数据协定的类——Student和AddrInfo。 [DataContract] public class Student { ...
阅读全文
摘要:在第4篇中,咱们了解了发送/接收SOAP头,从本篇开头,我们不妨更深入地去探求一下有关WCF中的消息到底是啥玩意儿。WCF庞大而复杂,而从 MSDN文档中,你会看到许多很专业很抽象的东西,你不禁会问,文档中所说的,是不是都有用的呢?实用的理论还是有的,不过有些要点确实太抽象了,抽象到 有时候我也不知...
阅读全文
摘要:如果你实在不明白Header是个啥玩意儿,你就想一想你发送电子邮件时,是不是有个叫“附件”的东东?对啊,那么SOAP头是不是可以理解为一种附加信息?就是附加到消息正文的内容。消息正文又是啥?WCF除了流模式传输数据外,剩下的基本来说就是消息模式。我们不妨这样理解,WCF的服务器端和客户端是通过消息来...
阅读全文
摘要:我们知道,WCF服务端是先定义服务协定,其实就是一个接口,然后通过实现接口来定义服务类。那么,有一个问题,如果一个服务类同时实现N个接口(也就是有N个协定)呢?结果会如何?不必猜,我们还是通过实验来说明吧。首先,参照下面代码写好服务器端,代码中,我写了三个协定,然后一个服务类同时实现它们。using...
阅读全文
摘要:上一篇文章中,我们抛出了N个问题:WCF到底难不难学?复杂吗?如果复杂,可以化繁为简吗?其实,这些问题的答案全取决于你的心态,都说“态度决定一切”,这句话,不知道各位信不信,反正我是信了。首先,敢于挑战自我,乐于接受新事物的 人,就不会觉得有啥难学的,“世上有难事,只怕有心人”;再者,WCF当然复杂...
阅读全文
摘要:WCF难学吗?是啊,这问题估计很多人都会问,也包括阿拉在内,也有此深刻而严重的凝问。也有人说:“如何某项技术可以化繁为简,学起来轻松一点就好了。”也许,人类开生就摆脱不了一种习性——懒惰;不过,也有人认为,很多时候,人们是不是总喜欢把简单的事情复杂化,那么,很多人都觉得很复杂的WCF算不算被人们“神...
阅读全文
摘要:今天学习WCF分布式开发步步为赢系列的15节:错误契约(FaultContract)与异常处理(ExceptionHandle)。本节内容作为WCF分布式开发的一个重要知识点,无论在学习还是项目中都应该有所了解。此前也和多位学习爱好者讨论过WCF异常处理的相关知识。这里就系统整理一下,共大家参考。同时也是对《WCF分布式开发步步为赢》系列文章的完善和补充。 本节主要涉及的知识点就是:【1】.NET异常处理【2】WCF异常处理【3】错误契约【4】WCF异常处理扩展【5】示例代码分析,最后是【6】总结部分。 首先我们来回忆一下.NET里一个重要的概念异常处理ExceptionHandle。异常处理
阅读全文
摘要:WCF安全机制是个非常复杂的问题,因为涉及的知识点较多,所以今天这个文章,会分析进行WCF安全开发应该了解的哪些知识点。如何查看资料。为了更好地理解WCF安全相关知识,我把WCF安全机制主要知识点整理为图表。本章以介绍WCF安全机制的基础概念为主。 要学习WCF安全编程,你应该学习什么首先掌握什么基础知识?很多时候会因为缺乏系统的安全概念,在进行WCF安全编程开发的时候,遇到很多问题,比如所证书,这个概念相信很多初学者第一次接触的时候花费了很多时间。我当时在做WSE安全开发的时候就查阅了很多资料。那么哪些是WCF安全开发应该掌握的知识点呢?今天我们就在这里做详细的介绍: Windows Com
阅读全文
摘要:之前曾经写过一个关于MSMQ消息队列的文章:WCF分布式开发必备知识(1):MSMQ消息队列,当时的目的也是用它来作为学习WCF 消息队列MSMQ编程的基础文章。在那篇文章里,我们详细介绍了MSMQ消息队列的基本概念、安装、部署、开发、调试等相关问题。今天我们来学习WCF分布式开发步步为赢(13):WCF服务离线操作与消息队列MSMQ。在WCF框架下使用MSMQ消息队列服务编程。 这里我会给出一个使用WCF MSMQ实现离线请求的DEMO示例程序。 全文结构是:【1】MSMQ基本概念【2】WCF消息队列MSMQ的优势【3】WCF 消息队列MSMQ通信框架【4】安装配置注意事项【5】示例代码 【
阅读全文
摘要:今天我们继续学习WCF分布式开发步步为赢系列的12节:WCF事务机制(Transaction)和分布式事务编程。众所周知,应用系统开发过程中,事务是一个重要的概念。它是保证数据与服务可靠性的重要机制。 作为面向服务应用的开发平台,WCF也提供了对事物编程模型的支持。.NET 2.0提供的System.Transactions类来开发事务应用程序。同样WCF也支持事务特性,WCF事务机制是什么,它与微软已有的技术如Microsoft 分布式事务协调器 (MSDTC)有何关系?与Enterpise Services(微软应用程序服务器技术)和COM+的事物机制有何区别,这篇文章会详细介绍,今天我们
阅读全文
摘要:WSE3.0框架提供了数据优化传输机制,WSE3.0构建Web服务安全(4):MTOM消息传输优化和文件上传、下载疑问里进行了介绍。WCF同样也提供了流操作来支持大数据对象的传输和处理优化机制,今天我们WCF分布式开发步步为赢系列的(4):使用流操作(Streaming Operations)优化传输。本节会详细介绍流操作的相关概念、编程实现过程,以及实际开发过程中需要主要的一些问题。本节结构:【1】流处理的概念【2】流处理的特点【3】示例代码分析【4】总结。最后上传本文的示例代码。 Streaming,本文翻译为流处理(张逸兄翻译的Programming WCF Services一书里把这个
阅读全文
摘要:WCF除了支持经典的请求应答(Request-Reply)模式外,还提供了什么操作调用模式,他们有什么不同以及我们如何在开发中使用这些操作调用模式。今天本节文章里会详细介绍。WCF分布式开发步步为赢(10):请求应答(Request-Reply)、单向操作(One-Way)、回调操作(Call Back).本文结构:【1】请求应答(Request-Reply)、【2】单向操作(One-Way)、【3】回调操作(Call Back)、【4】示例代码分析、【5】总结。最后上传本文的示例代码。 WCF除了支持经典的请求/应答模式意外,还提供了对单向操作、双向回调操作模式的支持,此外还有流操作(后者与
阅读全文
摘要:.Net Remoting的激活方式也有三种:SingleTon模式、SingleCall模式、客户端激活方式,WCF服务实例激活类型包括三种方式:单调服务(Call Service),会话服务(Sessionful Service),单例服务(Singleton Service).他们之间有什么联系。WCF服务激活类型的优势和缺点,以及如何在项目里编程开发和设置服务实例。全文分为5个部分,首先一次介绍单调服务(Call Service),会话服务(Sessionful Service),单例服务(Singleton Service)的相关概念,优势和缺点,其次是示例代码分析和讲解部分,最后.
阅读全文
摘要:数据集(DataSet)、数据表(DataTable)、集合(Collection)概念是.NET FrameWork里提供数据类型,在应用程序编程过程中会经常使用其来作为数据的载体,属于ADO.NET的一部分。今天我们WCF分布式开发步步为赢第8节的内容:使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据。本节内容除了介绍几个类型概念外的,同样会详细给出代码的实现过程。此外我们会分析这几种数据类型的优势和缺点,以及在面向对象的服务开发过程中如何解决这些问题。(昨天博客园发布文章出错,没办法只有现在重新发了,可惜我花了很久排版,没保存成功,结果还是
阅读全文

浙公网安备 33010602011771号