摘要:
1. ModBus的 Client/Server模型2. 數據包格式及MBAP header (MODBUS Application Protocol header)3. 大小端轉換4. 事務標識和緩...
閱讀全文
posted @ 2011-07-17 23:28
Silent Void
閱讀(75494)
推薦(25)
摘要:
SilverLight調用WCF,提交的是一個List<Linq2SqlEntity>;當List中數據量不大的時候,不會報錯;當數據量稍微大一點兒,就會出現這個錯誤。發(fā)生了 System.ServiceModel.ProtocolException Message=已超過傳入消息(65536)的最大消息大小配額。若要增加配額,請使用相應綁定元素上的 MaxReceivedMessageSize ...
閱讀全文
posted @ 2011-07-02 21:40
Silent Void
閱讀(7178)
推薦(1)
摘要:
打印連續(xù)紙張的時候,經常會遇到需要自動進退紙的功能,譬如下列場景:1. 打印完一個小標;(自動進紙)2. 用戶撕斷打印出來的小標;3. (自動退紙,紙張歸位) 接著打印下一個小標; 下列代碼在愛普生LQ 730k打印機上測試通過: 1: //使用示例 2: new PrintDirect("PrinterName").PrintESC(1);//打印后進紙 3: new PrintDirect("...
閱讀全文
posted @ 2011-06-26 00:00
Silent Void
閱讀(4061)
推薦(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提供了一個靜態(tài)方...
閱讀全文
posted @ 2011-06-21 23:00
Silent Void
閱讀(7176)
推薦(0)
摘要:
1. Tab/Enter跳轉到下一列;
2. 最后一行最后一列,Tab/Enter自動增加新行;
3. 增加新行后,自動跳轉到新增行的第一列;
4. 刪除行后,自動選中上一行;
5. Up/Down/Left/Right自動編輯;
閱讀全文
posted @ 2011-01-12 20:33
Silent Void
閱讀(3066)
推薦(1)
摘要:
DataGrid 控件提供了一種靈活的方式來以行和列的形式顯示數據集合。但卻沒有提供增加、刪除行、即時輸入等功能,若要實現類似于Winform下的DataGrid批量錄入功能,還得做一些手腳:
1. 顯示行號;
2. 即時輸入;
3. 增加新行;
4. 刪除行;
5. 復制、粘貼行/多行。
本文針對這幾個問題,提出一些解決思路。
閱讀全文
posted @ 2010-12-26 21:40
Silent Void
閱讀(4541)
推薦(4)
摘要:
.Net Framework 3.0帶了個System.Speech.dll,裝個語音包,然后就可以實現文字朗讀等功能。最近在使用的時候,發(fā)現隨著程序的運行,程序占用的內存一直在增長,直到程序崩潰。
用WinDbg抓了個Dump,然后看了下,里面一堆沒有釋放的SPVTEXTFRAG、AudioDeviceOut+InItem、WAVEHDR、WaveHeader對象。。。
閱讀全文
posted @ 2010-11-07 20:52
Silent Void
閱讀(4658)
推薦(6)
摘要:
FactoryMethod是一個相對比較簡單的創(chuàng)建型模式,但是能領悟或者用對的并不多見;很多示例都沒有反應出Factory Method的核心思想,只是實現了一個簡化版的Abstract Factory,然后給出的解釋是Factory Method模式解決“單個對象”的需求變化,Abstract Factory 模式解決“系列對象”的需求變化。
試想一下,如果把1視為N的一種特殊情況,則一個產品系列可能只包含一個對象;那么我們是不是可以認為Factory Method是一個簡化版的Abstract Factory呢?實際上,Factory Method模式與Abstract Factory模式雖然同屬于對象創(chuàng)建型模式,并且AbstractFactory類通常用Factory Method模式實現,并且效果上都可用于連接平行的類層次,但是這兩個模式在思想上有著本質的區(qū)別。網上的文章抄來抄去,結果錯誤也被到處傳。上一篇介紹了被普遍誤用的Builder模式,這篇繼續(xù)為Factory Method正名。
閱讀全文
posted @ 2010-09-26 19:50
Silent Void
閱讀(5990)
推薦(4)
摘要:
最近重讀GOF的《設計模式》,讀到Builder模式的時候,發(fā)現還是不能領悟;網上搜了下其他人的解釋,發(fā)現很多人都用錯了Builder模式,結構形似Builder,實際上卻更像Template、或者Factory Method,或者四不像,并沒有體現出Builder模式的思想和威力;通過對比學習,也逐漸加深了我對Builder模式的認識,于是就有了這篇文章。
閱讀全文
posted @ 2010-09-01 00:12
Silent Void
閱讀(18268)
推薦(4)
摘要:
防止重復提交,通用的思路,就是當用戶點擊提交按鈕后,在瀏覽器中用JS將按鈕disable掉,從而阻止用戶繼續(xù)點擊該按鈕,實現防止重復提交的目的。網上防止重復提交的文章已經不少了,為啥我還要寫呢,顯然我不是吃飽了撐的。。。最近一個客戶,老抱怨每個月總有幾條重復的業(yè)務數據;但創(chuàng)建該業(yè)務數據的頁面,我們已經應用了常規(guī)的防重復提交技術,為啥還這樣呢……
閱讀全文
posted @ 2010-08-15 23:44
Silent Void
閱讀(14575)
推薦(2)
摘要:
1. 使事務處理盡可能地短; 默認的TIL(Read Commited)下,開啟事務后,會話中的更新操作會持續(xù)占有排它鎖,直至事務提交或者回滾;使事務處理盡可能地短,減少持有資源的時間,盡快釋放資源...
閱讀全文
posted @ 2010-08-07 15:19
Silent Void
閱讀(1190)
推薦(0)
摘要:
在項目中,遇到一個場景:希望能在TextArea中輸入某條記錄中的明細(明細較簡單,沒有附屬信息,只用記錄順序和值即可,譬如用“+”號來作為明細分隔符:1+1.5+2+3.4),如下圖所示: 為了讓輸...
閱讀全文
posted @ 2010-08-06 18:50
Silent Void
閱讀(16294)
推薦(0)
摘要:
0. 并發(fā)沖突的示例 單用戶的系統(tǒng)現在應該比較罕見了,一般系統(tǒng)都會有很多用戶在同時進行操作;在多用戶系統(tǒng)中,涉及到的一個普遍問題:當多個用戶“同時”更新(修改或者刪除)同一條記錄時,該如何更新呢? 下圖展示了開放式并發(fā)沖突的一個示例: 假設數據庫中有一條記錄Record{Field1=5, Field2=6, Field3=7}(以下簡寫為{5, 6, 7}),A、B兩個用戶按照如下順序操作這一...
閱讀全文
posted @ 2010-01-30 18:23
Silent Void
閱讀(6343)
推薦(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
閱讀(4241)
推薦(0)
摘要:
Linq to SQL支持三種事務處理模型:顯式本地事務、顯式可分發(fā)事務、隱式事務。(from MSDN: 事務 (LINQ to SQL))。MSDN中描述得相對比較粗狂,下面就結合實例來對此進行闡述。 0. 測試環(huán)境 OS Windows Server 2008 Enterprise + sp1 IDE Visual Studio 2008, .net framework 3.5 + SP...
閱讀全文
posted @ 2010-01-27 14:47
Silent Void
閱讀(22307)
推薦(6)