Time of Update: 2018-12-08
在keso的blog上看到生日快樂,10歲的雅虎,然後到趕緊到Yahoo的網站去打個逛。看看這個LOGO,多喜慶啊! 我還第一次發現Yahoo的重大變化:Yahoo丟棄頁面兩側的空白地區,使頁面內容完整的充滿整個螢幕,而且沒有一個浮動廣告,介面清爽,給人很好的瀏覽體驗。不像國內的一些門戶網站,廣告滿天飛。
Time of Update: 2018-12-08
● Hypertext Transfer Protocol -- HTTP/1.1 HTTP 1.1 規範的完整資訊。這是一個英文資料。如果要學習或瞭解HTTP協議,那麼這是必不可少的文檔。 ● HTTP狀態代碼 雖然上面的文檔包含HTTP協議的所有資訊,但是一般情況下,只需要知道HTTP協議返回的狀態代碼,並根據狀態代碼的資訊分析和解決問題。火鳳手記的HTTP狀態代碼就提供了這些資訊。 ● HTTP 狀態碼[MSDN] 微軟MSDN上的HTTP
Time of Update: 2018-12-08
自從有了XML以後,跨系統的資料交換變得越來越簡單。.NET更把XML做為底層資料交換的基礎,並在.NET架構中提供了強大的類庫以增強XML的編程能力。這些類包含在System.Xml命名空間中。在跨系統的資料交換中,對象的序列化與還原序列化是重中之重。.NET為此專門提供了一個System.Xml.Serialization命名空間用於對象的序列化。 要瞭解XML的序列化可首先參考微軟的介紹: ● Introducing XML Serialization ● XML and
Time of Update: 2018-12-08
要使用.NET進行對象的序列化,必須在解決方案中添加System.Xml的引用,並且在類檔案中引入System.Xml.Serialization命名空間。這樣就可以在檔案中使用序列化所需要的各種特性了。Imports System.Xml.Serialization 如果對XML Serialization缺少瞭解,請首先參考拙文:在.NET中實現對象序列化<?xml version="1.0" encoding="utf-8"?><order id=”1234
Time of Update: 2018-12-08
前面我們已經講到如何使用System.Xml.Serialization命名空間中的各種特性對要序列化的類進行標記,這裡再說一說如何利用XmlSerializer進行對象的序列化。如果對對象序列化缺少瞭解,可以通過下面兩個連結瞭解: ● 在.NET中實現對象序列化 ● 對象序列化:使用System.Xml.Serialization命名空間 XmlSerializer的Serialize提供了6個重載方法,實際上屬於3種類型。它允許將序列化的結果儲存到TextWriter、Stream、
Time of Update: 2018-12-08
.NET的對象序列化真是好東西,以後要多多利用。 在使用.NET的序列化時,碰到過一些問題,還好,有豐富的MSDN可查,沒有什麼過不去的檻。在這裡,把使用.NET序列化的經驗小結一下。 1. 基本確認XmlSerializer使用UTF8對序列化的XML文檔編碼。 2. XmlSerializer只序列化聲明為public的欄位,屬性,或帶傳回值的方法。 3. 如果要序列化屬性,那麼該屬性必須是可讀寫的,即必須包含get和set,而不能是readonly或writeonly。 4.
Time of Update: 2018-12-08
不知道這裡有多少人用Sybase做資料庫開發的,我是有點受不了了。用了Sybase ASE ADO.NET,衝破重重阻力,終於系統算是正常運行了,要做更進一步的處理:增加資料許可權。我們原來是在Sql Server上用函數直接返回的結果集來判斷的,但是Sybase不支援函數,只好用預存程序返回一個判斷許可權的條件字串動態執行。問題是取出輸出參數總提提示“Command has been
Time of Update: 2018-12-08
近來總被電腦的問題苦惱,玩帝國時總是時間不長就出現畫面停滯,幾乎沒有響應了。然後退出程式總是有幾個進程的CPU時間佔用特別多。更新的N次的驅動程式也沒有效果。後來發現網上正在討論筆記本散熱底座的問題,忽然想到是不是天氣熱了本本散熱不好的原因?因為是從5月份別人手裡拿來的,對以前應用如何不太清楚。今天也沒有特別重要的事,把本本折開看看吧。不看不要緊,一看嚇一跳。CPU周圍和散熱導管末端的散熱片全被灰塵和一些其他的雜物給堵住了,一點縫隙都沒有。用毛刷把裡面全部清理了一下,該吹的地方都吹了一下。然後再
Time of Update: 2018-12-08
最近使用UnRARNet 處理 RAR格式的壓縮檔。UnRARNet 是由 RARLab 隨 unrar.dll 控制項一起提供的.net 平台的封裝。UnRARNet 使用VB.net語言,應該說對unrar.dll 進行了近乎完美的封裝,幾乎所有壓縮和解壓縮工作都完成的很漂亮。 不過,最近在測試解壓縮檔案時,遇到一個 System.Runtime.InteropServices.SEHException 異常,異常資訊是“外部組件發生異常”。具體位置是在 Decompressor
Time of Update: 2018-12-08
9月2日Google正式發布了其開源瀏覽器Chrome的Beta版下載。作為開發人員,除了享受Google瀏覽器帶給我們的新鮮感覺和全新體驗外,不自覺的會思考其與其他瀏覽器到相容性問題,畢竟因為這一點我們已經被IE6、IE7、FireFox搞得焦頭爛額了。這還不算剛剛發布Beta2的IE8,現在又來了Chrome,我們不禁要問:Chrome,你行嗎?Google Chrome瀏覽器借鑒了一些源自Apple WebKit和 Mozilla
Time of Update: 2018-12-08
如何知道一個字串,在指定的寬度內,可以顯示多少個字元?比如說我的一個control上,draw一個string,如果超過一定長度,我就把string截斷,後面顯示三個點我用MeasureString只能算出總長度,怎麼得到“適合”的字元個數?用.net做。以前用bcb做,有一個現成的函數可以用,忘記啥名字了。舉個例子,我的Control上需要輸出“中華人民1共2和國萬歲”,但是control沒有那麼寬,只能顯示到中華人民1共裡,那麼我需要顯示為:中華人民1共裡...(後面是三個點)。查了sdk,
Time of Update: 2018-12-08
ASP.NET學習筆記系列:GridView 始終顯示 Pager 分頁行的一種方法 ASP.NET 2.0 提供了非常強大的綁定能力,而 ASP.NET 2.0 新增的 GridView 控制項更是充分體現和發揮了資料繫結強大的功能。GridView 的資料繫結和頁面顯示可以通過簡單的代碼實現,大大提高了開發效率。不過有個地方讓人不爽,就是在使用分頁時,如果繫結資料不滿一頁,那麼 GridView 僅顯示繫結資料。例如,將 GridView 的 PageSize 設定為 10,每頁顯示 10
Time of Update: 2018-12-08
mono裡面有全部的原始碼,但是我很懶,它命令列的輸出不好看,而且速度比較慢,於是自己做了一個GUI版本的。mono代碼在這裡:D:\\mono\\mcs-1.0\\class\\Mono.PEToolkit。唯一修改的地方,是Rows.cs中所有的類都增加了一個對於介面方法string Dump();的實現。其他的,沒有任何改動。不是用reflection做的,而是直接分析pe
Time of Update: 2018-12-08
這是我從前給項目組同事做培訓的時候寫的一些例子,大家自己可以try一下,看看效能上有什麼不同。1、StringBuilder和String(差別很大) string s = ""; long t1 = System.DateTime.Now.Ticks; for(int i=0;i<10000;i++)s += Convert.ToString(i); long t2 = System.DateTime.Now.Ticks; long t3 =
Time of Update: 2018-12-08
首先聲明,沒有按照AOP的方法來做,現在還是顯示調用的。using System;using System.IO;using System.Collections;using System.Runtime.InteropServices;using ICSharpCode.SharpZipLib.Zip;using ICSharpCode.SharpZipLib.Zip.Compression;using
Time of Update: 2018-12-08
這是定義好的流程圖路由:0(Parent:receive order)--->1(Child:check finances) 1(Parent:check finances)--->2(Child:decline order) 1(Parent:check finances)--->9(Child:check stock) 3(Parent:R1)--->4(Child:check part. ship) 3(Parent:R1)--->5(Child:plan
Time of Update: 2018-12-08
中午剛剛提交給MS一個case,問題描述如下:(這是一個開源的EXCEL的代碼,原來是用vb.net寫的,我用C#改寫了一遍。vb.net中使用的API:FilePut是沒有這個問題的,我自己寫的這個,就是不行。)下面的Marshal.SizeOf(vt)這行代碼中,對於我下面給出的例子裡面,我希望的size應該是2+2+1,而不是記憶體對齊後的6。我如何得到5這個值? private void FilePut(System.ValueType vt){
Time of Update: 2018-12-08
為了分析競爭者產品的技術架構(代號i6,是哪個,我就不說了,呵呵),自己做了一個類查看器。本來呢,使用ildasm之類的可以看的,或者一些.net的反編譯器,但是這些工具都有一個不足之處。舉例來說,bin目錄下有.net組件20個,那麼用這些工具查看的時候,會顯示20個一級treenode,即使很多類都在一個namespace下面(物理上存在於不同的檔案中)。代碼很簡單,注意的就是:1、GetTypes之後得到的FullName,如何populate到treeview中。做了一個遞迴就搞定了2、
Time of Update: 2018-12-08
當然,應該說是behavior的從framework1.0到1.1的改變。但是這個改變,可把我們害苦了!!!下面是我做得demo。問題描述:一個winform的datagrid control,放到winform中,和放到ie中(就是smartclient方式),那麼在Column的LostFocus中的behavior是不同的。舉例來說:一個datagrid,兩列,三行。如下:1 a2 b3
Time of Update: 2018-12-08
本來不應該貼在這裡的,會被眾多高手貽笑大方的。不過,有兩個同事這兩天問我這個問題,我感覺大家的基礎知識還不紮實,所以就把一個簡單的demo放出來。加之這個網站也有很多非部落格的人來看,權作一個新手入門。using System;namespace Construture{ class Demo { [STAThread] static void Main(string[] args) { Child c = new Ch