易轩

持续做有意义的事

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

摘要: NetServer是一个网络通信模块,基于CompletionPort实现,适用于服务器端。它在VC下实现,可以直接在VC环境下使用,也可以通过DllImport在.Net环境下使用。它实现的功能如下: [代码] 其中在.Net环境下使用时要注意两点:1、在指定自定义的委托实例时,需要用成员变量来保存委托实例。使用局部或临时变量来保存委托实例的话,变量在其作用域外就会被垃圾回收,这样当它异步回调... 阅读全文
posted @ 2009-07-31 09:18 易轩 阅读(861) 评论(2) 推荐(0) 编辑

摘要: 功能蛮简单,先设置数据库的连接方式,然后就可以:生成CS和DLL文件生成可用于WCF服务的Data Contract的CS文件导出数据库的表结构信息到XML文件导出数据库的表结构信息到Doc文档生成界面逻辑代码、DataGridView显示风格配置文件后面会讲到怎么用生成的CS、DLL和XML文件,感兴趣的话可点此处下载试用。特性说明:1、生成的文件较少,就一个实体类文件。结合该文件和工具中自带的... 阅读全文
posted @ 2009-05-05 17:58 易轩 阅读(2480) 评论(5) 推荐(1) 编辑

2009年11月18日

摘要: 一、设计背景    .Net Framework自带的类库提供了一些基本的容器类,包括泛型的和非泛型的。其中我们用得最多的可能就是Dictionary<>、List<>(或者Hashtable、ArrayList)了。当我们需要实现的功能比较简单的时候,它们已经够用了,但是更多情况,在使用它们的时候我们还要写一些其实与系统业务没什么关系的代码:涉及多线程编程时需要线程安全地... 阅读全文
posted @ 2009-11-18 10:45 易轩 阅读(377) 评论(1) 推荐(0) 编辑

2009年10月30日

摘要: 很多时候,用数据库实体类生成工具生成的对象类都是不够用的:这些实体类基本上能够对应到我们编程过程中的一些对象类,但是又不能完全对应。因为其中的属性和变量都是基于数据库中的字段机械的生成的,而数据库中的字段一般都是“值得去记录”的信息:基础属性、常规配置、实体间关系、过程执行中的参数、过程执行完后的结果等信息,而不会记录执行过程中实时变化着的状态、过程中用到的一些对象如计时器... 阅读全文
posted @ 2009-10-30 17:32 易轩 阅读(425) 评论(2) 推荐(0) 编辑

2009年9月8日

摘要: 我们在使用Power Designer(PD,我这里使用的是PD 12)进行数据库设计时,一般都会先设计更贴近于我们的逻辑思维的概念模型(Conceptual Data Model),然后根据概念模型自动生成物理模型(Physical Data Model),然后再手动对生成的物理模型进行一些必要的调整,此时调整的对象主要是通过“检查模型(Check Model)”检查出来... 阅读全文
posted @ 2009-09-08 08:48 易轩 阅读(1794) 评论(2) 推荐(1) 编辑

2009年8月28日

摘要: 源码演示了如何在.Net环境下使用基于Completion Port的网络通信模块,基于Tcp协议。具体演示了: 1、服务器端使用前面实现的基于Completion Port的网络通信模块进行异步发送和接收的功能(主要目的);2、客户端使用.Net Socket进行同步发送,异步接收的功能; 3、服务器端和客户端均可主动发消息,对方会立即收到该消息。 阅读全文
posted @ 2009-08-28 10:22 易轩 阅读(413) 评论(0) 推荐(0) 编辑

2009年8月13日

摘要: 最近尝试了下如何在VSS Internet方式下协作开发一个项目。考虑类似于下面的场景:A、B、C远程(即不在一个局域网内)协作开发一个项目,达到这个目的需要经过下面两个步骤: 1、其中一个(例如A)新建一个项目,采用VSS Internet方式上传至VSS服务器上;2、其他成员(B、C),通过VS(VSS Client不支持Internet方式)下载已经上传至VSS服务器上的那个项目。刚开始还不... 阅读全文
posted @ 2009-08-13 09:39 易轩 阅读(671) 评论(6) 推荐(0) 编辑

2009年7月20日

摘要: 源码相当于是将Demo2和Demo3进行了综合,只是其中加入了自动生成的界面逻辑部分的代码,这也是例子中主要想说明的一部分。具体地: 1、实现了本地模式和WCF远程模式进行数据库访问,两种模式的界面完全一致,都类似于下面的截图:2、两种模式的UI文件夹下面的代码完全一致,都是将自动生成的代码直接包括在项目中。(注:这里不是将生成的界面代码复制后在VS里面直接粘贴,而是拷到UI文件夹下面后,选择&#... 阅读全文
posted @ 2009-07-20 09:30 易轩 阅读(618) 评论(0) 推荐(0) 编辑

2009年7月6日

摘要: 最近涉及到串口编程比较多,在项目中需要通过串口给硬件设备发送控制指令,为了确认发送的控制指令被正确执行,所以过程一般是这样: 1、向串口发送控制指令,此时设备没有数据返回 2、向串口发送状态读取指令确认设备的状态是否已经改变,此时设备会返回当前的状态。由于有些设备返回的状态数据较少,而有些设备返回的状态数据较多(可能分多次返回),所以需要根据情况来预估等待时间的值。但总觉得根据实际情况给定等待的时... 阅读全文
posted @ 2009-07-06 09:31 易轩 阅读(427) 评论(0) 推荐(0) 编辑

2009年6月8日

摘要: 最近有个项目,为了使它的实现能够得到最大限度的复用,在设计时采用了SOA的架构。从层次上将其分离为应用服务(AS)和设备服务(DS),并都用WCF服务来实现。这样在以后的项目中只需根据实际硬件配置修改DS就能使用。采用这种架构的确有很多优势,只是实现时对于服务的要求更高:松耦合、更稳定、对于异常的补偿策略足够完善等等。项目中UI必须以Client的形式登录到AS,这样当AS检测到有Client登录... 阅读全文
posted @ 2009-06-08 10:18 易轩 阅读(1325) 评论(0) 推荐(0) 编辑

2009年5月15日

摘要: 还是以前面使用到的那个Test.mdb为例:其中有一个表Score(学生成绩表),有三个字段:StudentID,CourseID,Mark,意思是学号为StudentID的学生在课程号为CourseID的学科考试中的得分是Mark字段的值。其实,Mark这个字段名我原来用的是Score,与数据库表的名字相同,但是这样我发现自动生成的CS文件无法通过编译,原因是Score类中有一个与类名相同的字段... 阅读全文
posted @ 2009-05-15 09:21 易轩 阅读(768) 评论(1) 推荐(0) 编辑