摘要: 扩展方法的目的就是为一个现有的类型添加一个方法,现有类型既可以是int,string等数据类型,也可以是自定义的数据类型。 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。例如,我们可以让Random类的所有实例对象拥有一个返回随机bool值的方法。我们不能对Random类本 阅读全文
posted @ 2016-11-24 18:10 在西天取经的路上…… 阅读(170) 评论(0) 推荐(0)
摘要: 先创建一个控制台应用程序,并创建一个Class1类,在Class1里面写上一个无参构造函数和一个静态构造函数,并在Main方法里面分别实例化两次Class1 从中可以得出在同一个程序中,静态构造函数只会被执行一次!这就是静态构造函数的本质!掌握到这个了就可以自己更深层次的扩展! 有时,在一个类中有几 阅读全文
posted @ 2016-11-24 16:33 在西天取经的路上…… 阅读(173) 评论(0) 推荐(0)
摘要: 表示只读; 例:public string DisplayName { get; private set; } 称为“自动属性” 等同于: private string _DisplayName; public string DisplayName { get{return _DisplayName 阅读全文
posted @ 2016-11-24 16:04 在西天取经的路上…… 阅读(438) 评论(0) 推荐(0)
摘要: 在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。 它们有一个共同点: 二者都是用来修饰父类的,只能作为基类使用,通过覆盖父类的定义,让子类与override的配合重新定义。 如果用来修饰方法,前面必须添加public。毕竟加上virtual或abst 阅读全文
posted @ 2016-11-24 15:29 在西天取经的路上…… 阅读(228) 评论(0) 推荐(0)
摘要: sealed 修饰符表示密封 用于类时,表示该类不能再被继承,不能和 abstract 同时使用,因为这两个修饰符在含义上互相排斥 用于方法和属性时,表示该方法或属性不能再被重写,必须和 override 关键字一起使用,因为使用 sealed 修饰符的方法或属性必须是基类中的虚成员,所以也不能用于 阅读全文
posted @ 2016-11-24 14:48 在西天取经的路上…… 阅读(383) 评论(0) 推荐(0)
摘要: 一.前言 多条件查询分页以及排序 每个系统里都会有这个的代码 做好这块 可以大大提高开发效率 所以博主分享下自己的6个版本的 多条件查询分页以及排序 二.目前状况 不论是ado.net 还是EF 在做多条件搜索时 都有这类似的代码 这样有几个不好的地方 1.当增加查询条件,需要改代码,对应去写相应的 阅读全文
posted @ 2016-11-24 11:58 在西天取经的路上…… 阅读(1145) 评论(0) 推荐(1)
摘要: 博客写了10篇了~有很多朋友私信问了一些问题,而且很多问题 大家问的都一样 这里说说这些常见问题的解决办法.如果大家有更好的解决办法~也希望分享出来 问题大概为这几个 一.ef4.1 codeFirst 修改表结构 增加字段等 EF code first需要重新生成库导致数据丢失的问题. 二.ef4 阅读全文
posted @ 2016-11-24 11:57 在西天取经的路上…… 阅读(304) 评论(0) 推荐(0)
摘要: 上节通过一系列重构 简单的项目就实现了 不过还有些EF的功能没有讲 这节就通过项目 讲讲EF其他的功能与技巧 一.直接执行SQL语句 通常来讲 EF 不用写SQL语句的 但是 在有些场合 比如对生成的SQL语句 觉得不满意 要做优化 或者做报表统计时 要写很变态的SQL语句 再或者 批量操作等 这个 阅读全文
posted @ 2016-11-24 11:56 在西天取经的路上…… 阅读(329) 评论(0) 推荐(0)
摘要: 通过前几篇文章 我们处理了 一对一, 一对多,多对多关系 很好的发挥了ORM框架的做用 但是 少说了一种 树形结构的处理, 而这种树形关系 我们也经常遇到,常见的N级类别的处理, 以及经常有数据与类别挂钩。今天主要写下EF处理树形结构以及 MVC如何展示树形结构。 前面几篇的例子 一直用的是一个例子 阅读全文
posted @ 2016-11-24 11:56 在西天取经的路上…… 阅读(448) 评论(0) 推荐(0)
摘要: 看这篇文章之前 推荐园子里的 这个文章 已经有介绍了 而且写的很好~~ 可以先看下他的 再看我的 并发 1.悲观并发 简单的说 就是一个用户访问一条数据时 则把这个数据变为只读属性 把该数据变为独占 只有该用户释放了这条数据 其他用户才能修改 这期间如果该用户上个厕所 出去玩一圈 没有退出 则其他人 阅读全文
posted @ 2016-11-24 11:55 在西天取经的路上…… 阅读(341) 评论(0) 推荐(0)
摘要: 项目最基础的东西已经结束了,但是现在我们的项目还不健全 不利于测试 重复性代码多 层与层之间耦合性高 不利于扩展等问题.今天的这章 主要就是解决这些问题的。再解决这些问题时,自己也产生了很多疑问,理解的也并不是很透彻 ,希望我的疑问能在这里得到解答~~ 一.模式介绍 1.Repository 在《企 阅读全文
posted @ 2016-11-24 11:55 在西天取经的路上…… 阅读(589) 评论(0) 推荐(0)
摘要: 通过上一篇的学习 我们把demo的各种关系终于搭建里起来 以及处理好了如何映射到数据库等问题 但是 只是搭建好了关系 问题还远没有解决 这篇就来写如何查找导航属性 和查找导航属性的几种方式 已经跟踪生成的SQL来检测是否满意 通过这节学习 来明白什么时候用哪个~~ 一.三种加载 1.延迟加载 这是原 阅读全文
posted @ 2016-11-24 11:54 在西天取经的路上…… 阅读(1833) 评论(0) 推荐(0)
摘要: 通过上一篇的学习 我们已经知道怎么查询关系 这篇就来说说怎么导航属性数据更新时的处理 以及EF又会为我们生成哪些SQL~ 老规矩 先看下今天的图 添加和修改页面基本就是这样 这节的内容相对简单~~ 主要就是讲 一对一 一对多 多对多时的增删改 以及MVC的一些小东西 一. 一对多的的处理 看第一张图 阅读全文
posted @ 2016-11-24 11:54 在西天取经的路上…… 阅读(243) 评论(0) 推荐(0)
摘要: 上篇文章 已经做出了基本的增删改查 但这远远不足以应付实际的项目 今天讲下实际项目中 肯定会有的 排序 刷选 以及分页。 重点想多写点分页的 毕竟这个是任何时候都要有的 而且 我会尽量把这个分页做的复杂下 这样到实际项目时 可以复制过来改改就行了~~ (这里我用的是国产的基于ScottGu的Page 阅读全文
posted @ 2016-11-24 11:53 在西天取经的路上…… 阅读(272) 评论(0) 推荐(0)
摘要: 上篇文章 终于把基础的一些操作写完了 但是这些都是单表的处理 而EF做为一个ORM框架 就必须点说说对于关系的处理 处理好关系 才能灵活的运用EF 关于关系的处理 一般就是 一对一 一对多 多对多 还有就是采用双向关联还是单项关联 而关系的处理 站长dudu的文章 就已经有了很好的介绍 推荐大家去看 阅读全文
posted @ 2016-11-24 11:53 在西天取经的路上…… 阅读(181) 评论(0) 推荐(0)
摘要: 基于EF4.1 code first 简单的CRUD 园子中已经有很多了 ~~ 真不想再写这个了 可是为了做一个完整的小demo 从开始 到后面的一些简单重构 还是决定认真把这个写出来 争取写些别人没写到的东西~~ 好了 开始~~ 这次要做的是个学校管理的demo(通俗些) 先建一个MVC3的应用程 阅读全文
posted @ 2016-11-24 11:51 在西天取经的路上…… 阅读(305) 评论(0) 推荐(0)
摘要: 上篇文章中 我们已经创建了EF4.1基于code first的例子 有了数据库 并初始化了一些数据 今天这里写基础的增删改查和持久对象的生命周期变化 学习下原文先把运行好的原图贴来上~~ 一.创建详细页 首先 我们先在控制器下 添加详细页的方法 因为这篇文章后面要介绍持久对象声明周期的变化 所以在这 阅读全文
posted @ 2016-11-24 11:51 在西天取经的路上…… 阅读(395) 评论(0) 推荐(0)
摘要: 前言 之前的前5篇作为EF方面的基础篇,后面我们将使用MVC+EF 并且使用IOC ,Repository,UnitOfWork,DbContext来整体来学习。因为后面要用到IOC,所以本篇先单独先学习一下IOC,我们本本文单独主要学习Autofac,其实对于Autofac我也是边学边记录。不对的 阅读全文
posted @ 2016-11-24 11:49 在西天取经的路上…… 阅读(481) 评论(0) 推荐(0)
摘要: 前言 距离上一篇已经有段时间了,最近这段时间赶上新项目开发,一直没有时间来写。之前的几篇文章,主要把EF的基础都讲了一遍,这批文章就来个实战篇。 个人在学习过程中参考博客: Repository 在数据库系统中,对于数据层来说,所有的操作归根结底无非“C(增加)、R(读取)、U(修改)、D(删除)” 阅读全文
posted @ 2016-11-24 11:49 在西天取经的路上…… 阅读(810) 评论(0) 推荐(2)
摘要: 前言 之前的几篇文章,被推荐到首页后,又被博客园下了,原因内容太少,那我要写多点呢,还是就按照这种频率进行写呢?本身我的意图这个系列就是想已最简单最容易理解的方式进行,每篇内容也不要太多,这样初学者容易理解学习,否则天花乱坠的一大篇初学者从头看到尾也要晕了。所以每次突出重点进行浓缩精华时的讲,当然我 阅读全文
posted @ 2016-11-24 11:48 在西天取经的路上…… 阅读(325) 评论(0) 推荐(0)
摘要: 之前的三张为基础篇,如果不考虑架构问题,做一般的小程序,以足够用了。基本的增删改查也都有了。但是作为学习显然是不够的。通过之前三章的学习,有没有发现这样写有什么问题,有没有觉得繁琐的?可能有人会说,之前的三篇总共加起来代码也就几十行哪里繁琐了。呵呵,是不是觉得EF很强大。但是其实按照之前的写法的话是 阅读全文
posted @ 2016-11-24 11:47 在西天取经的路上…… 阅读(264) 评论(0) 推荐(0)
摘要: 整个文章我都会用最简单,最容易让人理解的方式给大家分享和共同学习。(由于live Writer不靠谱 又得补发一篇) 一、安装 Install-Package EntityFramework 二、简单例子演示 定义了两个实体,功能很简单,记录每个用户的随笔。 BlogUser 博客用户表 Post 阅读全文
posted @ 2016-11-24 11:47 在西天取经的路上…… 阅读(239) 评论(0) 推荐(0)
摘要: EF里面的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面,还有一个就是Fluent API,通过新增相应的配置类来覆盖默认配置另外。我们主要学习Fluent API,Dat 阅读全文
posted @ 2016-11-24 11:46 在西天取经的路上…… 阅读(697) 评论(0) 推荐(0)
摘要: 目录(?)[-] 使用属性来自定义数据模型 DataType属性 StringLength属性 Column 属性 完成对Student实体的更改 Required 属性 Display 属性 FullName计算属性 创建Instructor实体 Courses 和OfficeAssignment 阅读全文
posted @ 2016-11-24 11:45 在西天取经的路上…… 阅读(222) 评论(0) 推荐(0)
摘要: 随着HTML5 WebSocket技术的日益成熟与普及,我们可以借助WebSocket来更加方便地打通BS与CS -- 因为B/S中的WebSocket可以直接连接到C/S的服务端,并进行双向通信。如下图所示: 一.对Socket Server的要求 我们可以尝试让Socket Server透明地支 阅读全文
posted @ 2016-11-24 11:43 在西天取经的路上…… 阅读(344) 评论(0) 推荐(0)
摘要: 基于.NET开发分布式系统,经常用到Remoting技术。在测试驱动开发流行的今天,如果针对分布式系统中的每个Remoting接口的每个方法都要写详细的测试脚本,无疑非常浪费时间。所以,我想写一个能自动测试remoting接口的小工具InterfaceTester。而且,当分布式系统中的某个remo 阅读全文
posted @ 2016-11-24 11:31 在西天取经的路上…… 阅读(187) 评论(0) 推荐(1)
摘要: 对于一些基于TCP Socket的大型C/S应用来说,能进行跨服务器通信可能是一个绕不开的功能性需求。出现这种需求的场景类似于下面描述的这种情况。 假设,我们一台TCP应用服务器能同时承载10000人同时在线,而同时在线用户数量通常为5万多,那可想而知,我们需要部署6台TCP应用服务器来分担这些负载 阅读全文
posted @ 2016-11-24 11:30 在西天取经的路上…… 阅读(318) 评论(0) 推荐(0)
摘要: 在网络上,交互的双方基于TCP或UDP进行通信,通信协议的格式通常分为两类:文本消息、二进制消息。 文本协议相对简单,通常使用一个特殊的标记符作为一个消息的结束。 二进制协议,通常是由消息头(Header)和消息体(Body)构成的,消息头的长度固定,而且,通过解析消息头,可以知道消息体的长度。如此 阅读全文
posted @ 2016-11-24 11:29 在西天取经的路上…… 阅读(673) 评论(0) 推荐(0)
摘要: 前段时间,有几个研究ESFramework的朋友对我说,ESFramework有点庞大,对于他们目前的项目来说有点“杀鸡用牛刀”的意思,因为他们的项目不需要文件传送、不需要P2P、不存在好友关系、也不存在组广播、不需要服务器均衡、不需要跨服务器通信、甚至都不需要使用UserID,只要客户端能与服务端 阅读全文
posted @ 2016-11-24 11:28 在西天取经的路上…… 阅读(551) 评论(0) 推荐(0)
摘要: 在广播与P2P通道(上) -- 问题与方案 一文中,我们已经找到了最优的模型,即将广播与P2P通道相结合的方案,这样能使服务器的带宽消耗降到最低,最大节省服务器的宽带支出。当然,如果从零开始实现这种方案无疑是非常艰巨的,但基于ESFramework提供的通信功能和P2P功能来做,就不再那么遥不可及了 阅读全文
posted @ 2016-11-24 11:26 在西天取经的路上…… 阅读(400) 评论(0) 推荐(0)
摘要: 当同一个系统的两个客户端A、B相互发送消息给对方时,如果它们之间存在P2P通道,那么消息传送的路径就有两种:直接经P2P通道传送、或者经服务器中转。如下图所示: 通常就一般应用而言,如果P2P通道能够成功创建(即所谓的打洞成功),A和B之间的所有消息将直接走P2P通道,这样可以有效节省服务器的带宽和 阅读全文
posted @ 2016-11-24 11:25 在西天取经的路上…… 阅读(257) 评论(0) 推荐(0)
摘要: 近段时间,有几个朋友问我如何实现类似QQ离线文件的功能。不想一一作答,就写一篇博文来比较完整的解释这个问题。 所谓“离线文件”,就是当接收者不在线时,发送者先把文件传送给服务端,在服务器上暂时保存,等接收者上线时,服务端再把文件发送给他。当然,要想实现离线文件的功能,其最基本的前提是要先实现传送文件 阅读全文
posted @ 2016-11-24 11:25 在西天取经的路上…… 阅读(805) 评论(0) 推荐(0)
摘要: 在分布式通信系统中,安全无疑是非常重要的。ESFramework通信框架提供了哪些安全保障了?由于ESFramework通信框架是应用层的开发框架,那么本文我们只讨论ESFramework通信框架在应用层涉及到的安全问题。如果黑客是在网络层或链路层进行攻击,位于应用层的系统是无能为力的。从应用层来说 阅读全文
posted @ 2016-11-24 11:23 在西天取经的路上…… 阅读(285) 评论(0) 推荐(0)
摘要: ESFramework开发手册系列文章已经详细介绍了如何使用ESPlus提供的ESPlus.Application.CustomizeInfo空间来发送和处理自定义信息,而且,在我们在前面介绍的demo中,也展示了如何定义信息类型、信息协议,以及如何实现ICustomizeHandler来处理接收到 阅读全文
posted @ 2016-11-24 11:22 在西天取经的路上…… 阅读(321) 评论(0) 推荐(0)
摘要: 在ESFramework通信框架 4.0 快速上手(13) -- 文件传送,如此简单一文的详细介绍和ESFramework通信框架 4.0 快速上手(14) -- 聊天系统Demo,增加文件传送功能(附源码)一文的Demo中,我们已经尝试了ESFramework通信框架提供的文件传送功能和断点续传特 阅读全文
posted @ 2016-11-24 11:21 在西天取经的路上…… 阅读(407) 评论(0) 推荐(0)
摘要: 本文我们将介绍在ESFramework 4.0 快速上手(08) -- 入门Demo,一个简单的IM系统(附源码)的基础上,增加文件传送的功能。如果不了解如何使用ESFramework提供的文件传送功能,可以先看看ESFramework 4.0 快速上手(13) -- 文件传送,如此简单一文的详细介 阅读全文
posted @ 2016-11-24 11:20 在西天取经的路上…… 阅读(251) 评论(0) 推荐(0)
摘要: 在之前版本的Rapid引擎中,是没有提供客户端登陆验证的机制的,如果要验证用户的帐号密码信息,我们只有自己手动通过自定义信息来实现。在2011.04.25发布的新版本中,客户端Rapid引擎,则内置了在初始化时验证用户的帐号密码的功能,这使得登录验证变得更加简单。 一. ESPlus.Applica 阅读全文
posted @ 2016-11-24 11:20 在西天取经的路上…… 阅读(171) 评论(0) 推荐(0)
摘要: 在所有的通信系统中,文件传送是最常见也是最重要的功能之一,ESFramework对文件传送的强大支持也是其亮点之一,使用ESFramework可以非常轻松地实现与文件传送相关的所有需求。ESPlus.Application.FileTransfering命名空间完整地解决了通信中与文件收发相关的问题 阅读全文
posted @ 2016-11-24 11:17 在西天取经的路上…… 阅读(199) 评论(0) 推荐(0)
摘要: 大部分分布式通信系统中,都会涉及到客户端之间相互通信、以及需要将客户端进行分组的功能,或者是类似这方面的需求。ESFramework对这一常见的任务内置了强大的支持,包括从客户端到服务端、一直到Platform的群集。在设计时,我们就考虑到了如何对常见的好友通信与组广播通信进行最大的支持,以期让ES 阅读全文
posted @ 2016-11-24 11:17 在西天取经的路上…… 阅读(181) 评论(0) 推荐(0)
摘要: 在分布式通信系统中,网络传递的是二进制流,而内存中是我们基于对象模型构建的各种各样的对象,当我们需要将一个对象通过网络传递给另一个节点时,首先需要将其序列化为字节流,然后通过网络发送给目标节点,目标节点接收后,再反序列化为对象实例。在ESFramework体系中,也是遵循同样的规则。 ESFrame 阅读全文
posted @ 2016-11-24 11:16 在西天取经的路上…… 阅读(180) 评论(0) 推荐(0)
摘要: 使用ESPlus.Application.CustomizeInfo.Passive.ICustomizeInfoOutter接口的Send方法,我们已经可以给服务端或其它在线客户端发送自定义信息了,那么,如何得知接收方是否已经收到了我们发出的信息了呢?特别是针对一些非常重要的信息,确认对方已经收到 阅读全文
posted @ 2016-11-24 11:16 在西天取经的路上…… 阅读(193) 评论(0) 推荐(0)
摘要: 在ESFramework 4.0 进阶(02)-- 核心:消息处理的骨架流程一文中,我们介绍了通过挂接IMessageSpy到骨架流程,我们就可以监控到所有收发的消息。由于Rapid引擎已经为我们组装好了默认的骨架流程,如果使用Rapid引擎,我们就无法插入自定义的IMessageSpy。不过没关系 阅读全文
posted @ 2016-11-24 11:15 在西天取经的路上…… 阅读(179) 评论(0) 推荐(0)
摘要: 在ESFramework 4.0 进阶(09)-- ESPlatform 支持的三种群集模型一文中,我们介绍了ESPlatform支持的三种群集模型 -- 垂直分割模型、水平分割模型、交叉模型。我们看到,在垂直分割模型和交叉模型中,每个客户端都要与多个应用服务器AS进行通信,这就要求客户端与多个AS 阅读全文
posted @ 2016-11-24 11:14 在西天取经的路上…… 阅读(271) 评论(0) 推荐(0)
摘要: 在ESFramework 4.0 快速上手 -- 入门Demo,一个简单的IM系统(附源码)一文中,我们介绍了使用ESFramework的Rapid引擎开发的winform聊天程序,本文我们将在之前demo的基础上添加使用ESFramework.SL开发的Silverlight客户端。这样一来,不仅 阅读全文
posted @ 2016-11-24 11:14 在西天取经的路上…… 阅读(196) 评论(0) 推荐(0)
摘要: 对于最多几千人同时在线的通信应用,通常使用单台服务器就可以支撑。但是,当同时在线的用户数达到几万、几十万、甚至百万的时候,我们就需要很多的服务器来分担负载。但是,依据什么规则和结构来组织这些服务器,并使它们能相互协调合作,是最关键的问题。如果你的通信应用是基于ESFramework通信框架构建的,当 阅读全文
posted @ 2016-11-24 11:13 在西天取经的路上…… 阅读(831) 评论(0) 推荐(0)
摘要: 前面的文章已经介绍完了基于ESFramework/ESPlus进行二次开发的所有要点,现在,我们可以开始小试牛刀了。 本文将介绍使用ESFramework的Rapid引擎开发的两个最简单的Demo,ESFramework.Demos.Simplest 和 ESFramework.Demos.Silv 阅读全文
posted @ 2016-11-24 11:13 在西天取经的路上…… 阅读(365) 评论(0) 推荐(0)
摘要: 分布式系统的构建一般有两种模式,一是基于消息(如Tcp,http等),一是基于方法调用(如RPC、WebService、Remoting)。深入想一想,它们其实是一回事。如果你了解过.NET的Proxy,那么你会发现,方法调用和消息请求/回复实际上是可以相互转换的,.NET的Proxy的实现,就是在 阅读全文
posted @ 2016-11-24 11:12 在西天取经的路上…… 阅读(189) 评论(0) 推荐(0)
摘要: 最新版本的ESFramework/ESPlus提供了基于TCP和UDP的P2P通道,而无论我们是使用基于TCP的P2P通道,还是使用基于UDP的P2P通道,ESPlus保证所有的P2P通信都是可靠的。这是因为ESPlus在原始UDP的基础上模拟TCP的机制进行了再次封装,以使UDP像TCP一样可靠。 阅读全文
posted @ 2016-11-24 11:12 在西天取经的路上…… 阅读(173) 评论(0) 推荐(0)
摘要: 无论我们采用何种通信框架来构建我们的分布式系统,在服务端进行用户管理都是非常重要的一个环节。然而用户管理是否应该隶属于通信框架了?这个并不一定,通常来说,用户管理是与具体应用紧密相关的,应该是由应用解决的部分,因为不同的应用程序对用户管理的需求是不尽相同的。但是,如果我们对大多数应用中的用户管理任务 阅读全文
posted @ 2016-11-24 11:11 在西天取经的路上…… 阅读(188) 评论(0) 推荐(0)
摘要: 在ESFramework 4.0 进阶(04)-- 驱动力:通信引擎(下)一文末尾我们已经将通信引擎以及整个消息骨架流程组装起来了,只要通信引擎一接收到消息,框架就会按照规定的流程进行运转。到这里,自然想到一个问题,如何来发送消息了?没有发送,何谈接收,就更不会有后续的驱动整个消息处理的骨架流程了。 阅读全文
posted @ 2016-11-24 11:11 在西天取经的路上…… 阅读(206) 评论(0) 推荐(0)
摘要: 在ESFramework 4.0 进阶(03)-- 驱动力:通信引擎(上)一文中,我们对ESFramework提供的每一个通信引擎的接口都做了详细了说明,这篇文章我们将继续探讨这些接口的实现类 -- 真正工作的通信引擎类。ESFramework提供了具体的5个通信引擎类覆盖了TCP/UDP、客户端/ 阅读全文
posted @ 2016-11-24 11:10 在西天取经的路上…… 阅读(279) 评论(0) 推荐(0)
摘要: 在ESFramework 4.0 进阶(02)-- 核心:消息处理的骨架流程一文中我们详细介绍了ESFramework中消息处理的骨架流程,并且我们已经知道,ESFramework中的所有通信引擎使用的都是这一套骨架流程。ESFramework内置了多种通信引擎以完全支持“客户端/服务端、TCP/U 阅读全文
posted @ 2016-11-24 10:51 在西天取经的路上…… 阅读(546) 评论(0) 推荐(0)
摘要: 在Internet上采用TCP进行通信的系统,都会遇到一个令人头疼的问题,就是“掉线”。而“TCP掉线”这个问题远比我们通常所能想象的要复杂的多 -- 网络拓扑纷繁复杂、而从始节点A到终节点B之间可能要经过N多的交换机、路由器、防火墙等等硬件设备,每个硬件设备的相关设定也不统一,再加上网络中可能出现 阅读全文
posted @ 2016-11-24 10:48 在西天取经的路上…… 阅读(222) 评论(0) 推荐(0)
摘要: 在ESFramework框架中基于TCP的服务端引擎(当然也包括Rapid引擎)都采用了这样一条规则:默认情况下,客户端与服务器成功建立TCP连接以后,服务端会从客户端发过来的第一条消息中取出消息头的UserID属性的值,并将其与对应的TCP连接绑定起来。这样,服务端就知道每一个TCP连接所对应的用 阅读全文
posted @ 2016-11-24 10:48 在西天取经的路上…… 阅读(148) 评论(0) 推荐(0)
摘要: 在ESFramework 4.0 概述一文中,我们提到ESFramework.dll作为通信框架的核心,定义了消息处理的骨架流程,本文我们来详细剖析这个流程以及该骨架中所涉及的各个组件。ESFramework的骨架流程如下图所示: 一.所有的网络引擎都使用同一消息处理骨架流程 ESFramework 阅读全文
posted @ 2016-11-24 10:48 在西天取经的路上…… 阅读(729) 评论(0) 推荐(0)
摘要: 《ESFramework 4.0 快速上手》系列介绍的都是如何使用Rapid引擎(快速引擎) -- RapidServerEngine 和 RapidPassiveEngine。其实,大家可以将这两个引擎看作是两个壳,内部包装的才是真正的ESFramework的网络引擎, ESFramework支持 阅读全文
posted @ 2016-11-24 10:47 在西天取经的路上…… 阅读(332) 评论(0) 推荐(0)
摘要: 在ESFramework 4.0 快速上手一文中,主要介绍了如何使用ESPlus.Rapid命名空间中的引擎来快速地构建基于TCP的网络通信系统,即使是使用ESPlus.Rapid来进行ESFramework快速开发,也还有很多可以介绍的内容,于是,我想再多写几篇文章来说明现实通信系统中的一些常见需 阅读全文
posted @ 2016-11-24 10:46 在西天取经的路上…… 阅读(517) 评论(0) 推荐(0)
摘要: 在ESFramework 4.0 快速上手一文中,我们讲述了如何使用Rapid引擎可以快速地上手ESFramework开发,文中介绍了使用ESPlus.Application.CustomizeInfo命名空间下的类可以发送和处理自定义消息,本文我们就通过一个简单的例子来深入讲解如何使用自定义消息。 阅读全文
posted @ 2016-11-24 10:46 在西天取经的路上…… 阅读(199) 评论(0) 推荐(0)
摘要: 需要交互的分布式系统之间通过消息来传递有意义的信息。消息是通信框架的核心。离开了消息,再谈通信框架就没有任何意义,所以,消息是ESFramework中一个最核心的概念。 一. 消息的类别 在具体的应用中,我们需要对消息的类别进行定义,这有助于我们分析和讨论问题。消息大致可以分为4个类别:请求消息、回 阅读全文
posted @ 2016-11-24 10:45 在西天取经的路上…… 阅读(739) 评论(0) 推荐(0)
摘要: (在阅读该文之前,请先阅读 ESFramework 4.0 概述 ,会对本文的理解更有帮助。) ESFramework/ESPlatform 4.0 的终极目标是为百万级的用户同时在线提供支持,因为强大,所以使用也较为复杂,配置也较多。但是如果我们的应用只是一个中小型的通信应用(同时在线5000人以 阅读全文
posted @ 2016-11-24 10:44 在西天取经的路上…… 阅读(318) 评论(0) 推荐(0)
摘要: 本实验用于测试ESFramework服务端引擎的性能,测试程序使用ESFramework 4.0版本。 一.准备工作 测试的机器总共有3台,都是普通的PC,一台作为服务器,两台作为客户端。 作为服务器是PC配置如下: 操作系统:Windows Server 2003 Enterprise Editi 阅读全文
posted @ 2016-11-24 10:44 在西天取经的路上…… 阅读(222) 评论(0) 推荐(0)
摘要: ESFramework 是一套性能卓越、稳定可靠、强大易用的跨平台通信框架,支持应用服务器集群。其内置了消息的收发与自定义处理(支持同步/异步模型)、消息广播、P2P通道、文件传送(支持断点续传)、心跳检测、断线重连、登录验证、在线用户管理、好友与群组管理、性能诊断等功能。基于ESFramework 阅读全文
posted @ 2016-11-24 10:43 在西天取经的路上…… 阅读(249) 评论(0) 推荐(1)
摘要: office word文档、pdf文档、powerpoint幻灯片是非常常用的文档类型,在现实中经常有需求需要将它们转换成图片 -- 即将word、pdf、ppt文档的每一页转换成一张对应的图片,就像先把这些文档打印出来,然后再扫描成图片一样。所以,类似这种将word、pdf、ppt转换为图片的工具 阅读全文
posted @ 2016-11-24 10:26 在西天取经的路上…… 阅读(314) 评论(0) 推荐(0)