04 2014 档案

摘要:一、前言 又临近春节,作为屌丝的我,又要为车票发愁了。记得去年出现了各种12306的插件,最近不忙,于是也着手自己写个抢票插件,当是熟悉一下WinForm吧。小软件还在开发中,待完善后,也写篇博客与大家分享。今天我们的重点不是抢票软件,而是其中的一点功能。我们在买票的时候选站点的自动补全如下图:这... 阅读全文
posted @ 2014-04-25 10:12 于为 阅读(657) 评论(0) 推荐(0)
摘要:你说,服务器端回调有啥用呢?这样问,估计不好回答,是吧。不急,先讨论一个情景。假设现有服务器端S,客户端A开始连接S并调用相关操作,其中有一个操作,在功能上有些特殊,调用后无法即时回复,因为在服务器上要作一些后续,而这些处理也许会消耗一定时间,比如:向服务器上传了一个文件,但是,为了节约空间或出于其... 阅读全文
posted @ 2014-04-14 13:44 于为 阅读(284) 评论(0) 推荐(0)
摘要:在标题中我加了一个大家都很熟悉的单词——Session,熟吧?玩过Web开发的朋友肯定在梦中都会见到她。在Web中为什么要会话呢?毕竟每个用户在一个Web应用中可能不止进行一次操作,比如,某二手飞机交易网站,用户A登陆后,可能他会修改他的个人 信息,他也有可能看好了一架二手飞机,打算入手,就把商品放... 阅读全文
posted @ 2014-04-14 13:43 于为 阅读(351) 评论(0) 推荐(0)
摘要:我们知道,在WCF中,客户端对服务操作方法的每一次调用,都可以被看作是一条消息,而且,可能我们还会有一个疑问:如何知道客户端与服务器通讯过 程中,期间发送和接收的SOAP是什么样子。当然,也有人是通过借助其他工具来抓取数据包来查看。那,有没有办法让程序自己输出相应的SOAP信息呢?当然有,这就是我们... 阅读全文
posted @ 2014-04-14 13:42 于为 阅读(817) 评论(0) 推荐(0)
摘要:在使用Socket/TCP来传输文件,弄起来不仅会有些复杂,而且较经典的“粘包”问题有时候会让人火冒七丈。如果你不喜欢用Socket来传文件,不妨试试WCF,WCF的流模式传输还是相当强大和相当实用的。因为开启流模式是基于绑定的,所以,它会影响到整个终结点的操作协定。如果你不记得或者说不喜欢背书,不... 阅读全文
posted @ 2014-04-14 13:41 于为 阅读(292) 评论(0) 推荐(0)
摘要:Message翻译成中文,相信各位不陌生,是啊,就是消息,在WCF中也有消息这玩意儿,不知道你怎么去理解它。反正俺的理解,就像我们互发短信一个道理,通讯的双方就是服务器与客户端,说白了吧,就是二者之间的通信。我们知道一个WCF服务,先是定义服务协定,而服务协定中会有若干个服务操作协定(Operati... 阅读全文
posted @ 2014-04-14 13:40 于为 阅读(248) 评论(0) 推荐(0)
摘要:在WCF中,服务器与客户端的通讯有单向(单工)和双向(双工)之分。要说有什么形式上的表现,那就是单向与双向生成的SOAP不同,咱们先放下代码不说。但通常情况下,我们也不太需要去研究生成的SOAP是啥样子 的,因为这些都是不需要我们动手的,我们也不必要精通它,没实际用途,你把SOAP玩透了,妹子也不会... 阅读全文
posted @ 2014-04-14 13:37 于为 阅读(295) 评论(0) 推荐(0)
摘要:我们继续,上一回我们了解了数据协定的一部分内容,今天我们接着来做实验。好的,实验之前先说一句:实验有风险,写代码须谨慎。实验开始!现在,我们定义两个带数据协定的类——Student和AddrInfo。 [DataContract] public class Student { ... 阅读全文
posted @ 2014-04-14 13:36 于为 阅读(194) 评论(0) 推荐(0)
摘要:在第4篇中,咱们了解了发送/接收SOAP头,从本篇开头,我们不妨更深入地去探求一下有关WCF中的消息到底是啥玩意儿。WCF庞大而复杂,而从 MSDN文档中,你会看到许多很专业很抽象的东西,你不禁会问,文档中所说的,是不是都有用的呢?实用的理论还是有的,不过有些要点确实太抽象了,抽象到 有时候我也不知... 阅读全文
posted @ 2014-04-14 13:35 于为 阅读(226) 评论(0) 推荐(0)
摘要:如果你实在不明白Header是个啥玩意儿,你就想一想你发送电子邮件时,是不是有个叫“附件”的东东?对啊,那么SOAP头是不是可以理解为一种附加信息?就是附加到消息正文的内容。消息正文又是啥?WCF除了流模式传输数据外,剩下的基本来说就是消息模式。我们不妨这样理解,WCF的服务器端和客户端是通过消息来... 阅读全文
posted @ 2014-04-14 13:34 于为 阅读(458) 评论(0) 推荐(0)
摘要:我们知道,WCF服务端是先定义服务协定,其实就是一个接口,然后通过实现接口来定义服务类。那么,有一个问题,如果一个服务类同时实现N个接口(也就是有N个协定)呢?结果会如何?不必猜,我们还是通过实验来说明吧。首先,参照下面代码写好服务器端,代码中,我写了三个协定,然后一个服务类同时实现它们。using... 阅读全文
posted @ 2014-04-14 13:33 于为 阅读(244) 评论(0) 推荐(0)
摘要:上一篇文章中,我们抛出了N个问题:WCF到底难不难学?复杂吗?如果复杂,可以化繁为简吗?其实,这些问题的答案全取决于你的心态,都说“态度决定一切”,这句话,不知道各位信不信,反正我是信了。首先,敢于挑战自我,乐于接受新事物的 人,就不会觉得有啥难学的,“世上有难事,只怕有心人”;再者,WCF当然复杂... 阅读全文
posted @ 2014-04-14 13:32 于为 阅读(295) 评论(0) 推荐(0)
摘要:WCF难学吗?是啊,这问题估计很多人都会问,也包括阿拉在内,也有此深刻而严重的凝问。也有人说:“如何某项技术可以化繁为简,学起来轻松一点就好了。”也许,人类开生就摆脱不了一种习性——懒惰;不过,也有人认为,很多时候,人们是不是总喜欢把简单的事情复杂化,那么,很多人都觉得很复杂的WCF算不算被人们“神... 阅读全文
posted @ 2014-04-14 13:31 于为 阅读(246) 评论(1) 推荐(0)
摘要:今天学习WCF分布式开发步步为赢系列的15节:错误契约(FaultContract)与异常处理(ExceptionHandle)。本节内容作为WCF分布式开发的一个重要知识点,无论在学习还是项目中都应该有所了解。此前也和多位学习爱好者讨论过WCF异常处理的相关知识。这里就系统整理一下,共大家参考。同时也是对《WCF分布式开发步步为赢》系列文章的完善和补充。 本节主要涉及的知识点就是:【1】.NET异常处理【2】WCF异常处理【3】错误契约【4】WCF异常处理扩展【5】示例代码分析,最后是【6】总结部分。 首先我们来回忆一下.NET里一个重要的概念异常处理ExceptionHandle。异常处理 阅读全文
posted @ 2014-04-11 12:34 于为 阅读(208) 评论(0) 推荐(0)
摘要:WCF安全机制是个非常复杂的问题,因为涉及的知识点较多,所以今天这个文章,会分析进行WCF安全开发应该了解的哪些知识点。如何查看资料。为了更好地理解WCF安全相关知识,我把WCF安全机制主要知识点整理为图表。本章以介绍WCF安全机制的基础概念为主。 要学习WCF安全编程,你应该学习什么首先掌握什么基础知识?很多时候会因为缺乏系统的安全概念,在进行WCF安全编程开发的时候,遇到很多问题,比如所证书,这个概念相信很多初学者第一次接触的时候花费了很多时间。我当时在做WSE安全开发的时候就查阅了很多资料。那么哪些是WCF安全开发应该掌握的知识点呢?今天我们就在这里做详细的介绍: Windows Com 阅读全文
posted @ 2014-04-11 12:33 于为 阅读(279) 评论(0) 推荐(0)
摘要:之前曾经写过一个关于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】示例代码 【 阅读全文
posted @ 2014-04-11 12:25 于为 阅读(285) 评论(0) 推荐(0)
摘要:今天我们继续学习WCF分布式开发步步为赢系列的12节:WCF事务机制(Transaction)和分布式事务编程。众所周知,应用系统开发过程中,事务是一个重要的概念。它是保证数据与服务可靠性的重要机制。 作为面向服务应用的开发平台,WCF也提供了对事物编程模型的支持。.NET 2.0提供的System.Transactions类来开发事务应用程序。同样WCF也支持事务特性,WCF事务机制是什么,它与微软已有的技术如Microsoft 分布式事务协调器 (MSDTC)有何关系?与Enterpise Services(微软应用程序服务器技术)和COM+的事物机制有何区别,这篇文章会详细介绍,今天我们 阅读全文
posted @ 2014-04-11 12:24 于为 阅读(380) 评论(0) 推荐(0)
摘要:WSE3.0框架提供了数据优化传输机制,WSE3.0构建Web服务安全(4):MTOM消息传输优化和文件上传、下载疑问里进行了介绍。WCF同样也提供了流操作来支持大数据对象的传输和处理优化机制,今天我们WCF分布式开发步步为赢系列的(4):使用流操作(Streaming Operations)优化传输。本节会详细介绍流操作的相关概念、编程实现过程,以及实际开发过程中需要主要的一些问题。本节结构:【1】流处理的概念【2】流处理的特点【3】示例代码分析【4】总结。最后上传本文的示例代码。 Streaming,本文翻译为流处理(张逸兄翻译的Programming WCF Services一书里把这个 阅读全文
posted @ 2014-04-11 12:23 于为 阅读(321) 评论(0) 推荐(0)
摘要:WCF除了支持经典的请求应答(Request-Reply)模式外,还提供了什么操作调用模式,他们有什么不同以及我们如何在开发中使用这些操作调用模式。今天本节文章里会详细介绍。WCF分布式开发步步为赢(10):请求应答(Request-Reply)、单向操作(One-Way)、回调操作(Call Back).本文结构:【1】请求应答(Request-Reply)、【2】单向操作(One-Way)、【3】回调操作(Call Back)、【4】示例代码分析、【5】总结。最后上传本文的示例代码。 WCF除了支持经典的请求/应答模式意外,还提供了对单向操作、双向回调操作模式的支持,此外还有流操作(后者与 阅读全文
posted @ 2014-04-11 12:22 于为 阅读(458) 评论(0) 推荐(0)
摘要:.Net Remoting的激活方式也有三种:SingleTon模式、SingleCall模式、客户端激活方式,WCF服务实例激活类型包括三种方式:单调服务(Call Service),会话服务(Sessionful Service),单例服务(Singleton Service).他们之间有什么联系。WCF服务激活类型的优势和缺点,以及如何在项目里编程开发和设置服务实例。全文分为5个部分,首先一次介绍单调服务(Call Service),会话服务(Sessionful Service),单例服务(Singleton Service)的相关概念,优势和缺点,其次是示例代码分析和讲解部分,最后. 阅读全文
posted @ 2014-04-11 12:21 于为 阅读(269) 评论(0) 推荐(0)
摘要:数据集(DataSet)、数据表(DataTable)、集合(Collection)概念是.NET FrameWork里提供数据类型,在应用程序编程过程中会经常使用其来作为数据的载体,属于ADO.NET的一部分。今天我们WCF分布式开发步步为赢第8节的内容:使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据。本节内容除了介绍几个类型概念外的,同样会详细给出代码的实现过程。此外我们会分析这几种数据类型的优势和缺点,以及在面向对象的服务开发过程中如何解决这些问题。(昨天博客园发布文章出错,没办法只有现在重新发了,可惜我花了很久排版,没保存成功,结果还是 阅读全文
posted @ 2014-04-11 12:20 于为 阅读(468) 评论(0) 推荐(0)
摘要:本节继续学习WCF分布式开发步步为赢(7):WCF数据契约与序列化.数据契约是WCF应用程序开发中一个重要的概念,毫无疑问实现客户端与服务端数据契约的传递中序列化是非常重要的步骤。那么序列化是什么?为什么会有序列化机制?或者说它是为了解决什么问题?作用是什么?现有的.NET 序列化机制和WCF序列化机制有什么不同?我们在本节文章里都会详细介绍。本节结构:【0】数据契约【1】序列化基本概念【2】.NET 序列化机制【3】WCF序列化机制【4】代码实现与分析【5】总结。 下面我们正式进入今天的学习阶段,首先来介绍一下数据契约的概念:【0】数据契约(DataContract): 在WCF服务编程中我 阅读全文
posted @ 2014-04-11 12:05 于为 阅读(230) 评论(0) 推荐(0)
摘要:上一节我们学习了WCF分布式开发步步为赢(5)服务契约与操作重载部分。今天我们来继续学习WCF服务契约继承和服务分解设计相关的知识点。WCF服务契约继承有何优势和缺点?实际项目里契约设计有什么原则和依据?面向对象的设计经验有何值得借鉴的地方?这里我们会一一给出详细的介绍。本文首先介绍的是WCF服务中契约继承的一些概念、例子代码分析,其次来讲解服务契约的设计问题。首先介绍的也是进行服务设计的必要性,服务设计的原则,示例代码分析。最后是全文的总结部分。结构如下:【1】OO面向对象设计原则,【2】服务契约继承,【3】服务契约分解概念,【4】服务契约分解原则,【5】服务契约分解代码分析,【6】总结。【 阅读全文
posted @ 2014-04-11 12:03 于为 阅读(227) 评论(0) 推荐(0)
摘要:继上一节WCF分布式开发步步为赢系列的(4):WCF服务可靠性传输配置与编程开发,本节我们继续学习WCF分布式开发步步为赢的第(5)节:服务契约与操作重载。这里我们首先讲解OOP面向对象的编程中方法重载,重载的意义,WCF服务编程开发如何实现操作重载,随后是代码分析部分,给出了服务端服务契约定义和实现操作重载的注意的问题和实现过程,然后详细介绍了客户端实现操作重载的方式。最后是本文的总结部分。本节的结构是:【1】重载概念【2】操作重载【3】代码实现分析【4】运行结果【5】总结【1】重载概念:【1.1】什么是重载(OverLoad): 所谓重载是指同一个方法名可以对应着多个方法的实现。这些方法的 阅读全文
posted @ 2014-04-11 12:02 于为 阅读(255) 评论(0) 推荐(0)
摘要:今天继续WCF分布式开发步步为赢系列的第4节:WCF服务可靠性传输配置与编程开发。这个章节,我们要介绍什么是WCF服务的可靠性传输,随便介绍网络协议的概念,Web Service为什么不支持可靠性传出,具体的WCF绑定协议和可靠性的关系,实现可靠性传输有什么方式,以及配置和开发的详细实现代码分析部分。【1】可靠性传输【2】配置方式实现可靠性传输【3】编程方式实现可靠性传输【4】编程实现必备有序传递【5】结果分析和总结。 下面进入正式的内容:【1】可靠性传输:【1.0】网络协议基础知识: 这里我们有必要先介绍OSI参考模型几个主要协议的基本概念,见下表:OSI中的层功能TCP/IP协议族应用层文 阅读全文
posted @ 2014-04-11 12:01 于为 阅读(328) 评论(0) 推荐(0)
摘要:今天我们继续WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发的学习。经过前面两节的学习,我们了解WCF分布式开发的相关的基本的概念和自定义宿主托管服务的完整的开发和配置过程。今天我们来详细学习WCF服务元数据交换的相关内容。WCF服务元数据究竟是什么?为什么WCF服务要暴露元数据交换节点?这些和以前的Web Service有什么关系?WCF服务元数据交换的方式有那些?我们如何实现WCF服务元数据交换,本节我们会详细讲解。全文结构如下:【1】WCF服务元数据的基本概念、【2】WCF服务元数据交换方式介绍【3】WCF服务元数据交换配置实现过程详解【4】WCF服务元数据交换编程实现 阅读全文
posted @ 2014-04-11 12:00 于为 阅读(283) 评论(0) 推荐(0)
摘要:上一节《WCF分布式框架基础概念》我们介绍了WCF服务的概念和通信框架模型,并给出了基于自定义托管服务的WCF程序的实现代码。考虑到WCF分布式开发项目中关于托管宿主服务配置和客户端添加引用。两个环节最容易出错。对于大部分想学习WCF分布式开发的人来说,成功开发、配置、部署第一个自己的WCF服务困难重重。很多资料都介绍了WCF的基本概念。但是对于实际的项目开发过程介绍粗略,给入门者带来诸多不便。今天我们就来补充一节WCF分布式开发一个完整解决方案的开发和配置过程。本节基本结构是:首先介绍【1】WCF服务解决方案的项目组成【2】WCF服务的开发和配置过程,【3】自定义宿主的开发和配置过程【4】客 阅读全文
posted @ 2014-04-11 11:59 于为 阅读(276) 评论(0) 推荐(0)
摘要:众所周知,系统间的低耦合一直是大型企业应用系统集成追寻的目标,SOA面向服务架构的出现为我们的如何利用现有企业系统资源进行企业ERP系统设计和实现提供了重要的参考原则。SOA如此炙手可热,各大厂商都推出了自己的中间件产品,比如Oracle Fusion和SAP NetWeaver,IBM、BEA等企业也推出了自己基于SOA的解决方案。基于J2EE平台的SOA架构设计中的一个重要概念就是EJB企业服务总线,作用是实现各个系统的数据交互。而.NET平台上,WCF就是微软为各个系统的数据交互提供通讯基础框架。由于论文课题的原因,我对产生了SOA(Service-oriented architectu 阅读全文
posted @ 2014-04-11 11:57 于为 阅读(429) 评论(0) 推荐(0)
摘要:以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用A类中的方法D,D这个方法就叫回调方法,这样子说你是不是有点晕晕的,其实我刚开始也是这样不理解,看了人家说比较经典的回调方式:Class A实现接口CallBack callback——背景1class A中包含一个class B的引用b ——背景2class B有一个参数为callback的方法f(CallBack callback) ——背景3A的对象a调用B的方法 f(CallBa 阅读全文
posted @ 2014-04-11 11:41 于为 阅读(204) 评论(0) 推荐(0)
摘要:深入浅出C#三层架构本文用一个示例来介绍如何建设一个三层架构的项目,并说明项目中各个文件所处的层次与作用。写本文的目的,不是为了说明自己的这个方法有多对,而是希望给那些初学三层架构却不知从何入手的朋友提供一点帮助。因为网上的文章,大多是注重理论的介绍,而忽略了具体的实践应用,或者有示例但讲得不透彻。导致看了之后,理论上又学习了一遍,但还是不知道代码怎么写。所以想从这个方面入手写一下,让从来没做过三层架构的初学者也能照猫画虎,写出代码来。文中的代码是伪代码,仅用来阐明思路。正文:一提三层架构,大家都知道是表现层(UI),业务逻辑层(BLL)和数据访问层(DAL),而且每层如何细分也都有很多的方法 阅读全文
posted @ 2014-04-11 11:18 于为 阅读(825) 评论(0) 推荐(0)