上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页
摘要: (题外话:前面连续N篇介绍都是一些应用比较复杂的类,这篇来个简单易懂的)1.缘起: .NET Framework提供的Soap序列化的方式可以实现对象的xml序列化和反序列化(object xml) ,但是它有三个缺点:(1) 它要求对象的类型定义时必须打上[Serializable]标签,这是强... 阅读全文
posted @ 2010-12-10 09:51 zhuweisky 阅读(3066) 评论(5) 推荐(4)
摘要: 1.缘起: 在增量自动获取器章节的缘起部分,我们曾提到增量缓存,本节我们将深入探讨它以及用于管理增量缓存的管理器。我们还是以增量自动获取器章节提到的例子作为基础,并做更进一步的讨论。 OK,现在让我们开始这有趣的旅程。首先,基于前面例子给出的上下文,我们知道IIncreaseAutoRetrieve... 阅读全文
posted @ 2010-11-04 10:25 zhuweisky 阅读(2346) 评论(2) 推荐(5)
摘要: 1.缘起:假设我们的订单报表系统,需要能够实时地统计当天的已成交订单的报表。最直观的解决方案就是,当每次接收到查询报表的请求时,就从存储设备读取当天所有已成交的订单,然后再进行分析计算给出结果。这是可行的,而且得到的结果也是非常实时的。但是,这种方式无疑也是非常低效的,因为我们报表数据的统计过程可能... 阅读全文
posted @ 2010-10-06 14:46 zhuweisky 阅读(2772) 评论(2) 推荐(5)
摘要: Speex是一套开源的音频编解码库,最新版本还包含了回音消除和防抖动等功能,如果我们想开发语音聊天或视频会议这样的系统,Speex将是一个不错的选择。到 http://www.speex.org可以下载Speex的源码(编译后的dll为libspeex.dll),最新版本为1.2。不过源码是用C++ 阅读全文
posted @ 2010-09-16 10:57 zhuweisky 阅读(13163) 评论(63) 推荐(7)
摘要: 本实验用于测试ESFramework网络通信框架服务端引擎的性能,测试程序使用ESFramework 4.0版本。 一.准备工作 测试的机器总共有3台,都是普通的PC,一台作为服务器,两台作为客户端。 作为服务器是PC配置如下: 操作系统:Windows Server 2003 Enterprise 阅读全文
posted @ 2010-09-11 12:51 zhuweisky 阅读(5915) 评论(35) 推荐(5)
摘要: (在阅读该文之前,请先阅读ESFramework 4.0 概述 ,会对本文的理解更有帮助。)ESFramework/ESPlatform 4.0 的终极目标是为百万级的用户同时在线提供支持,因为强大,所以使用也较为复杂,配置也较多。但是如果我们的应用只是一个中小型的通信应用(同时在线5000人以下),直接使用ESPlatform就有点显得杀鸡用牛刀了。ESPlus.Rapid提供了一种快速的方式,来解决类似中小型的通信应用,以最简洁的方式来使用ESFramework。 使用ESPlus.Rapid来构建你的ESFramework通信程序,你只需要了解两个引擎(服务端引擎和客户端引擎)和几个组件 阅读全文
posted @ 2010-09-11 11:49 zhuweisky 阅读(8482) 评论(16) 推荐(9)
摘要: windows 7和vista提高的系统的安全性,同时需要明确指定“以管理员身份运行”才可赋予被运行软件比较高级的权限,比如访问注册表等。否则,当以普通身份运行的程序需要访问较高级的系统资源时,将会抛出异常。 如何让程序在启动时,自动要求“管理员”权限了,我们只需要修改app.manifest... 阅读全文
posted @ 2010-08-27 11:44 zhuweisky 阅读(8577) 评论(13) 推荐(2)
摘要: 成熟的C#网络通信框架ESFramework,从最初的单纯的C#网络通信框架,历经10年,已经发展为支持包括安卓、IOS、Xamarin等多个平台的跨平台通信框架。 阅读全文
posted @ 2010-08-12 15:54 zhuweisky 阅读(40047) 评论(63) 推荐(35)
摘要: 当Form包含自定义控件,或UserControl存在嵌套时,外层的对象就会接收不到KeyDown等事件了,但是,我们可以通过override基类的ProcessDialogKey方法来达到同样的效果,比如:Code highlighting produced by Actipro CodeHi... 阅读全文
posted @ 2010-07-10 15:00 zhuweisky 阅读(1721) 评论(0) 推荐(0)
摘要: 1.缘起:从IMultiTree到IAgileMultiTree,一切进展得都不错。但是,还有改进的地方。多叉树的一个优点在于,根据指定的节点能够非常迅速地找到其所有的子节点。但是缺点在于,根据节点值的ID定位到目标节点不够快,因为需要对所有的节点进行遍历操作。当节点非常多、层次非常深时,这种定位操... 阅读全文
posted @ 2010-06-30 10:18 zhuweisky 阅读(4222) 评论(7) 推荐(2)
摘要: 如果我使用TcpListener绑定本地的7000端口,并启动监听。然后,再使用TcpClient绑定本地7000端口,此时需要开启TcpClient的地址重用设置:Code highlighting produced by Actipro CodeHighlighter (freeware)h... 阅读全文
posted @ 2010-05-26 11:42 zhuweisky 阅读(2473) 评论(3) 推荐(0)
摘要: 1.缘起: 我们还是以多叉树IMultiTree章节介绍的那个例子来继续讲解。假设,在系统运行的过程中,集团又成立了分公司D及其下属的一些单位,这些资料已经被存入了数据库中,但是这些信息在我们当前正在运行的MultiTree实例中并不存在,如果此时向MultiTree实例请求与D分公司相关的信息,那... 阅读全文
posted @ 2010-05-12 09:54 zhuweisky 阅读(2487) 评论(2) 推荐(5)
摘要: 1.缘起:假设我们要描述一个集团公司的组织结构,这个集团公司的体系分为如下几层:集团、公司、子公司、部门、小组。即一个集团由多个公司构成,每个公司又有几个子公司构成,每个子公司拥有多个部门,每个部门又内分为几个小组。很明显,这种体系结构就是一个多叉树。我设计了ESBasic.ObjectManage... 阅读全文
posted @ 2010-04-18 15:08 zhuweisky 阅读(3837) 评论(5) 推荐(4)
摘要: 对于集合的遍历,使用foreach是非常方便的,但是Emit动态生成foreach的代码就要复杂很多。它涉及到以下几个方面:(1)IEnumerable<> 是所有可枚举类型的基础接口。(2)IEnumerator<>,通过IEnumerable<> 接口的GetEnumerator方法可以获取枚举器IEnumerator<>,而对集合元素的遍历正是... 阅读全文
posted @ 2010-04-02 11:42 zhuweisky 阅读(2137) 评论(2) 推荐(0)
摘要: 我们在使用GDI+实现类似画图板这样的系统时,经常需要支持平移、滚动条、缩放等功能、解决绘制时的闪烁,对于缺乏GDI+开发经验的朋友,经常会在这些问题上纠缠一段或长或短的时间。在这里,我将自己的经验小结一下,给后来的朋友作个参考。1.如何解决绘制闪烁?(1)所有的绘制动作都应该Paint事件中完成。  比如,即使我们要拖动一个View object,通常在MouseMove事件中处理拖动行为,但是... 阅读全文
posted @ 2010-03-26 15:02 zhuweisky 阅读(4087) 评论(2) 推荐(4)
摘要: 1.缘起: 当数据源中的数据量多到一定程度时,我们在查询时就经常使用分页策略。如果数据源是一个完整的整体,这没有什么大不了的,我们经常就在做类似的事情。但是,如果数据源不是一个完整的整体,而是由很多有序的片段构成的,并且不同的片段可能位于不同的位置(比如,位于不同的服务器节点上的内存中),甚至,每个... 阅读全文
posted @ 2010-03-10 14:21 zhuweisky 阅读(2515) 评论(4) 推荐(1)
摘要: 1.缘起:假设我们的会员管理系统有一个排行榜的功能,需要每隔一段时间就对系统中的所有会员(假设会员数有100万)的积分进行排序,然后对其中的前100名进行某些奖励。 这是一个典型的TopN算法――对巨大数量的对象进行排序,然后只需要取出最Top的前N名(N比对象总数小很多),作为排行榜的数据。 解决... 阅读全文
posted @ 2010-01-18 10:00 zhuweisky 阅读(2701) 评论(4) 推荐(2)
摘要: 1.缘起: 假设我们有一个订单系统,现在这个系统要增加一个功能――允许客人查核他认为有问题的订单的详细信息。当客人觉得自己的某个订单不对劲时,他首先会从订单系统查询这个订单的详细信息,然后打电话告诉我们的客服有问题的订单的编号,客服再去查核,如果属实,客服还要进一步上报,如果该订单非常重要,则可能需... 阅读全文
posted @ 2010-01-05 10:13 zhuweisky 阅读(3581) 评论(6) 推荐(4)
摘要: 1.缘起:假设我们有一个会员管理系统,需要向各方提供查询会员基础资料的功能。会员一经注册,其基础资料就将不再发生变化(如会员帐号、身份证ID、注册时间等等)。基于这样的需求,我们可以将会员的基础资料“永久地”缓存在内存中,从而提升对任何一个会员基础资料的查询速度。我设计了ESBasic.Object... 阅读全文
posted @ 2009-12-21 16:38 zhuweisky 阅读(3455) 评论(5) 推荐(2)
摘要: 1.缘起:ESBasic中许多管理对象的容器都用到了这个ESBasic.ObjectManagement.IObjectRetriever接口,所以单独将其提出来介绍一下。当我们向对象容器(Container)请求某个对象时,也许目标对象还未加载到容器中,这可能是因为容器在初始化的时候就没有加载这个... 阅读全文
posted @ 2009-12-10 09:12 zhuweisky 阅读(2410) 评论(0) 推荐(2)
上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页