我們其實可以透過許多工具取得 .NET 應用程式執行時在記憶體中的資料,例如:WinDbg 或 Debug Diagnostic Tool。而當你在 .NET 程式中需要將一些較機密的資料暫存在變數(物件)時,若單純的使用 System.String 類別建立執行個體(Instance)儲存資料,就很容易被一些除錯工具或傾印(dump)工具取得原始資料,原因是 System.String 類別是不變的(immutable),且當不再需要它時也無法透過程式排程進行記憶體回收。所以當你使用 System.String 類別儲存文字內容在記憶體中,就很難保證在物件不用了之後能夠即時在記憶體中刪除,這樣的程式就有被資訊揭露(Information Disclosure)的安全風險。
... 繼續閱讀 ...
因為 Windows Server 2003 預設只提供兩個同時遠端連線的授權,若是要使用超出 2 個連線以上的要求,就必須安裝 Terminal Server 與 Terminal Server Licensing 並購買足夠的授權才能用,一般來說主機不會讓太多人管理,所以大多不會使用那麼多的授權數,兩個應該很夠了。不過,使用遠端桌面(Remote Desktop)最討厭的就是有人「佔著茅坑不拉屎」,登入之後做完事不登出,而是直接斷線,這導致工作階段(Session)一直沒有結束,如果有兩個人同時做這件事,就把僅有的這 2 個連線數給佔滿了,導致其他人想連都連不進去。錯誤訊息如下:
... 繼續閱讀 ...
我們通常在寫 LINQ to SQL 專案時,都會利用 Visual Studio 2008 內建的 LINQ to SQL DBML Designer 讓我們透過視覺化的介面將資料庫表格、檢視表或預儲程序從 Server Explorer 拖曳到設計視窗中,不過缺點就是當資料庫結構(DB Schema)改變了之後就需要跟著修正,我通常有以下選擇:
... 繼續閱讀 ...
我們之前有位新手工程師(現在已經不新了)曾經在 ASP.NET 中使用 Environment.CurrentDirectory ( 取得目前之工作目錄的完整路徑 ) 來存取網站內的檔案,一般來說很少有人會用 Environment.CurrentDirectory 來存取網站上的檔案路徑,我自己猜測應該是一般的 C# 書籍都是用 Console Program 來撰寫範例,所以可能是新手上路搞不清楚狀況才這樣寫,而且在 Visual Studio 的開發環境中這樣使用還真的不會出錯呢!所以才導致新人一直使用錯誤的方法開發,直到程式被部署到測試主機後才發現程式無法執行。
... 繼續閱讀 ...
jQuery 是我最常用的 JavaScript Library,而且外掛程式超多,有空的人是可以多上去看看有什麼新玩意,保證有許多驚喜!我大約是在一年前得知有 jQuery Cycle Plugin 這個 jQuery 外掛套件吧,當時為了找一個可以「跨瀏覽器」的廣告輪播套件找了好久,也試用了好幾套,不過大部分廣告輪播或跑馬燈的 JavaScript Library 都不盡理想,最後才選擇用 jQuery Cycle Plugin 來做為跑馬燈/廣告輪播的撰寫工具。
... 繼續閱讀 ...
等候已久的 Microsoft SQL Server 2008 Express 版終於發行了,如果你已經安裝了 Visual Studio 2008 Service Pack 1 ( 包括 .NET Framework 3.5 SP1 ) 的話,還必須先安裝 Windows Installer 4.5 才能夠順利的安裝 Microsoft SQL Server 2008 Express 版。
... 繼續閱讀 ...
在 Visual Studio 中原本就有內建一些 Code Snippet 了,我最常用的有 if , for , while , enum, prop , try , tryf 和 switch,而這幾個常用的 Code Snippet 都差不多,唯獨 switch 還有額外的特殊功能,他可以跟宣告為 enum 的型別做出完美的搭配。
... 繼續閱讀 ...
你在做簡報的時候會不會在解說的時候一直移動滑鼠,只為了讓「滑鼠指標」出現,但只要過 3 秒又會自動消失,然後你還要一直移動、一直移動滑鼠才會讓滑鼠指標再出現。我上週去一家公司簡報的時候就遇到這種窘境,客戶還開玩笑的跟我說:「你要不要雷射筆,我看你用滑鼠用的很辛苦」。
... 繼續閱讀 ...