in

Darkthread

黑暗執行緒
All Tags » .NET (RSS)

Browse by Tags

  • KB-SQL UDF for Compression

    最近要對付一個每天狂長的痴肥資料庫,由於要保全交易相關證據供日後追查,資料表必須保存往來交換的XML原始檔案。XML格式向來以冗長囉嗦聞名,加上每日交易量愈來愈大,資料庫面臨空間不足及備份管理的壓日益沈重。於是我決定雙管齊下改善這個問題: 第一,將過期資料定期搬到另一個資料庫,就可以採行較寬鬆的備份策略,不用每天反覆備份鉅量歷史資料,時間與空間都較省。第二,我打算祭出壓縮大法,逼XML資料瘦身。 以往在.NET 1.1時代,不難找到Open Source的壓縮Library,例如: SharpZipLib 。到了.NET 2.0就更方便了,BCL中內建了 System.IO.Compression...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 04-27-2007
  • KB-W3SVC throw 0x800703e9 exception

    今天幫忙排除一台主機的IIS問題,只要執行特定網頁,就會出現以下訊息: JIT偵錯失敗,發生以下錯誤: 存取被拒。 JIT偵錯是使用者帳戶'NT AUTHORITY\NETWORK SERVICE'所啟動。 如需詳細資訊,請在文件索引中查看'Just-in-time偵錯,錯誤'。 事實上,這是一個表面的錯誤訊息,根本的問題不在於執行權限不對,或是有人Debug Web App失敗,而是執行ASP.NET的底層的.NET程式發生錯誤所致。真正的錯誤訊息則可以在事件檢視器中看到,W3SVC發出了以下的錯誤: 伺服應用程式集區 'DefaultAppPool' 的處理序已意外中止了。處理序識別碼為 ...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 04-11-2007
  • KB-.NET Windows Form縮骨功?

    我之前寫過一台潛盾機(潛盾機的典故後面再說),起因是手邊有幾個網站用的是NT整合式驗證,雖然有測試用的網域跟假帳號,但每次都得重開IE後輸入不同的帳號假扮不同的使用者,很令人抓狂。 所以我寫了一個小工具--IE Impersonate,可以先把不同的帳號密碼儲存起來,由它自動幫你開啟IE,連至特定URL,並在IE跳出登入對話框時自動填入預先指定的帳號、密碼,省去反覆輸入不同帳號密碼的困擾。 這個小程式真的可以省下可觀的按鍵次數及操作時間,很受到幾個常做網站測試同事的歡迎。不過,今天才得到消息,這個程式在部分機器上(Windows XP & Windows 2003都有)展現縮骨功,變成只有120px寬的怪樣子...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 04-11-2007
  • 我不是在做夢吧? 令人感動的Mono!

    最近的工作開始跟Linux扯上關係,有預感總有一天會被逼著在Linux寫些整合用的小程式... orz 十年前唸碩士的時候,一個實驗室畢業學長做起了壓Linux CD販售的生意,送了老板一片他在經銷的Slackware Linux光碟,當年Linux才剛冒出頭,紅帽子可能連毛線都沒開始織,Linux還沒開始受到世人的關注,那塊光碟就一直被留在實驗室桌上。好奇心重又手賤的我,不甘心系上的幾台DEC/Sun UNIX系統只有某幾間實驗室的同學才能把玩,就找來機器裝上Slackware Linux,過過當UNIX root的乾癮,從Apache, Sendmail, Samba一路玩下去,當年翻譯了一篇Firewall...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 04-03-2007
  • KB-Thread.Sleep, 別賴床!

    上回 話說我們觀察到在不同的機器上,Thread.Sleep(1)的結果不一定就是1ms,而可能是以15ms為單位。 經過鍥而不舍的搜查,後來有了驚奇的發現! 原來這個事實是可以改變的,多媒體程式庫中有個 timeBeginPeriod 的API,可以設定Thread.Sleep的時間解析度,例如以下的寫法: private static void TestSleep() { timeBeginPeriod(1); Thread .Sleep(1); timeEndPeriod(1); } [ DllImport ( "winmm.dll" )] internal static extern uint...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 03-28-2007
  • KB-測試Thread.Sleep的精確度

    最近在開發一些很講求速度的程式,對於"程式夠不夠快"這件事有了全新的體認! 以往寫Web時,User多半很能忍受看網頁本來就需要等待這件事實,所以只要不太離諎,3,5秒的Delay多半還可被接受。而最近在處理的案子是那種速度絕對至上的典型,慢了1ms程式就變成廢柴,因此每個環節都要求快,變成不能用傳統正規的做法解決,到處都在走偏鋒,才能達成目標。 CodeProject上有篇很棒的研究-- Timer Surprises ,看過之後才發現Timer.Interval設成15ms以下根本就是自欺欺人,而文中所附的程式是個很好的實證,可以測試你的電腦如何實現Timter.Interval 1ms,...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 03-24-2007
  • KB-誰在叫我? .NET程式呼叫歷程的追蹤

    在某些情況下,我們會想知道自己的程式碼被誰所呼叫,例如: 當某個共用函數發生錯誤時,若可知是哪一個類別呼叫這個函數時出錯,將十分有助於Debug。 各位應該都看過.NET Debug Build在出錯時,會顯示所謂的Call Stack(即Exception物件的StackTrace屬性),例如: X:\>labs.exe Unhandled Exception: System.DivideByZeroException: Attempted to divide by zero. at Labs.Program.Lab0818() in F:\Documents and Settings...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 08-17-2006
  • XML Attribute的特殊字元處理DIY

    我有段程式為了貪圖效能,沒用XmlDocument,而用StringBuilder自己組XML: sb.AppendFormat ( "<Event Log=\"{0}\" Message=\"{1}\" />\n " , logName,System.Web.HttpUtility.HtmlEncode(e.Message)); 結果,今天突然程式發生Error,才發現這段程式乍看OK,嚴謹性卻大有問題。原因出在e.Message中可能包含一些HtmlEncode認定合法,但XML不接受的特殊字元(例如: 換行、\t之類的),組出來的XML是不合法的。 於是,我寫了以下的Code做測試...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 08-03-2006
第28頁,共28頁 (278個項目) « 第一頁 ... < 上一頁 24 25 26 27 28
Powered by Community Server (Non-Commercial Edition), by Telligent Systems