摘要:
1. ModBus的 Client/Server模型2. 数据包格式及MBAP header (MODBUS Application Protocol header)3. 大小端转换4. 事务标识和缓...
阅读全文
posted @ 2011-07-17 23:28
Silent Void
阅读(75334)
推荐(25)
摘要:
SilverLight调用WCF,提交的是一个List<Linq2SqlEntity>;当List中数据量不大的时候,不会报错;当数据量稍微大一点儿,就会出现这个错误。发生了 System.ServiceModel.ProtocolException Message=已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize ...
阅读全文
posted @ 2011-07-02 21:40
Silent Void
阅读(7164)
推荐(1)
摘要:
打印连续纸张的时候,经常会遇到需要自动进退纸的功能,譬如下列场景:1. 打印完一个小标;(自动进纸)2. 用户撕断打印出来的小标;3. (自动退纸,纸张归位) 接着打印下一个小标; 下列代码在爱普生LQ 730k打印机上测试通过: 1: //使用示例 2: new PrintDirect("PrinterName").PrintESC(1);//打印后进纸 3: new PrintDirect("...
阅读全文
posted @ 2011-06-26 00:00
Silent Void
阅读(4015)
推荐(0)
摘要:
1: public static bool IsDefault<T>(this T value) 2: { 3: //... 4: }1. ==的问题 如果用==直接判断(default(T) == value),编译时会提示错误:Error CS0019: 运算符“==”无法应用于“T”和“T”类型的操作数 (CS0019)。2. object.Equals的问题 object提供了一个静态方...
阅读全文
posted @ 2011-06-21 23:00
Silent Void
阅读(7155)
推荐(0)
摘要:
1. Tab/Enter跳转到下一列;
2. 最后一行最后一列,Tab/Enter自动增加新行;
3. 增加新行后,自动跳转到新增行的第一列;
4. 删除行后,自动选中上一行;
5. Up/Down/Left/Right自动编辑;
阅读全文
posted @ 2011-01-12 20:33
Silent Void
阅读(3020)
推荐(1)
摘要:
DataGrid 控件提供了一种灵活的方式来以行和列的形式显示数据集合。但却没有提供增加、删除行、即时输入等功能,若要实现类似于Winform下的DataGrid批量录入功能,还得做一些手脚:
1. 显示行号;
2. 即时输入;
3. 增加新行;
4. 删除行;
5. 复制、粘贴行/多行。
本文针对这几个问题,提出一些解决思路。
阅读全文
posted @ 2010-12-26 21:40
Silent Void
阅读(4532)
推荐(4)
摘要:
.Net Framework 3.0带了个System.Speech.dll,装个语音包,然后就可以实现文字朗读等功能。最近在使用的时候,发现随着程序的运行,程序占用的内存一直在增长,直到程序崩溃。
用WinDbg抓了个Dump,然后看了下,里面一堆没有释放的SPVTEXTFRAG、AudioDeviceOut+InItem、WAVEHDR、WaveHeader对象。。。
阅读全文
posted @ 2010-11-07 20:52
Silent Void
阅读(4638)
推荐(6)
摘要:
FactoryMethod是一个相对比较简单的创建型模式,但是能领悟或者用对的并不多见;很多示例都没有反应出Factory Method的核心思想,只是实现了一个简化版的Abstract Factory,然后给出的解释是Factory Method模式解决“单个对象”的需求变化,Abstract Factory 模式解决“系列对象”的需求变化。
试想一下,如果把1视为N的一种特殊情况,则一个产品系列可能只包含一个对象;那么我们是不是可以认为Factory Method是一个简化版的Abstract Factory呢?实际上,Factory Method模式与Abstract Factory模式虽然同属于对象创建型模式,并且AbstractFactory类通常用Factory Method模式实现,并且效果上都可用于连接平行的类层次,但是这两个模式在思想上有着本质的区别。网上的文章抄来抄去,结果错误也被到处传。上一篇介绍了被普遍误用的Builder模式,这篇继续为Factory Method正名。
阅读全文
posted @ 2010-09-26 19:50
Silent Void
阅读(5966)
推荐(4)
摘要:
最近重读GOF的《设计模式》,读到Builder模式的时候,发现还是不能领悟;网上搜了下其他人的解释,发现很多人都用错了Builder模式,结构形似Builder,实际上却更像Template、或者Factory Method,或者四不像,并没有体现出Builder模式的思想和威力;通过对比学习,也逐渐加深了我对Builder模式的认识,于是就有了这篇文章。
阅读全文
posted @ 2010-09-01 00:12
Silent Void
阅读(18233)
推荐(4)
摘要:
防止重复提交,通用的思路,就是当用户点击提交按钮后,在浏览器中用JS将按钮disable掉,从而阻止用户继续点击该按钮,实现防止重复提交的目的。网上防止重复提交的文章已经不少了,为啥我还要写呢,显然我不是吃饱了撑的。。。最近一个客户,老抱怨每个月总有几条重复的业务数据;但创建该业务数据的页面,我们已经应用了常规的防重复提交技术,为啥还这样呢……
阅读全文
posted @ 2010-08-15 23:44
Silent Void
阅读(14554)
推荐(2)
摘要:
1. 使事务处理尽可能地短; 默认的TIL(Read Commited)下,开启事务后,会话中的更新操作会持续占有排它锁,直至事务提交或者回滚;使事务处理尽可能地短,减少持有资源的时间,尽快释放资源...
阅读全文
posted @ 2010-08-07 15:19
Silent Void
阅读(1184)
推荐(0)
摘要:
在项目中,遇到一个场景:希望能在TextArea中输入某条记录中的明细(明细较简单,没有附属信息,只用记录顺序和值即可,譬如用“+”号来作为明细分隔符:1+1.5+2+3.4),如下图所示: 为了让输...
阅读全文
posted @ 2010-08-06 18:50
Silent Void
阅读(16265)
推荐(0)
摘要:
0. 并发冲突的示例 单用户的系统现在应该比较罕见了,一般系统都会有很多用户在同时进行操作;在多用户系统中,涉及到的一个普遍问题:当多个用户“同时”更新(修改或者删除)同一条记录时,该如何更新呢? 下图展示了开放式并发冲突的一个示例: 假设数据库中有一条记录Record{Field1=5, Field2=6, Field3=7}(以下简写为{5, 6, 7}),A、B两个用户按照如下顺序操作这一...
阅读全文
posted @ 2010-01-30 18:23
Silent Void
阅读(6327)
推荐(2)
摘要:
0. 说明 Linq to Sql,以下简称L2S。 以下文中所指的两层和三层结构,分别如下图所示: 准确的说,这里的分层并不是特别明确:(1) 生成的DataContext(Linq t0 SQL Runtime)和Entity是放在一个文件中的,物理上不能切割开来;上图只是展示逻辑上的结构。(2) 拿上图右边的三层结构来说,鉴于第(1)点,UI层就可以跨越BusinessLogic层,直接访...
阅读全文
posted @ 2010-01-29 16:07
Silent Void
阅读(4235)
推荐(0)
摘要:
Linq to SQL支持三种事务处理模型:显式本地事务、显式可分发事务、隐式事务。(from MSDN: 事务 (LINQ to SQL))。MSDN中描述得相对比较粗狂,下面就结合实例来对此进行阐述。 0. 测试环境 OS Windows Server 2008 Enterprise + sp1 IDE Visual Studio 2008, .net framework 3.5 + SP...
阅读全文
posted @ 2010-01-27 14:47
Silent Void
阅读(22274)
推荐(6)