Pages

2009-04-30

using區塊與Dispose()

一般程序員都知道,使用using block可以在離開區塊時自動呼叫Dispose() (假如有實作IDisposable的話),為什麼可以這樣呢? 其實是.NET Compiler的貼心轉譯,會自動轉成以下的寫法:
using (MyClass myClass = new MyClass())
{
myClass.DoSomething();
}

Compiler自動轉成:
using (MyClass myClass = new MyClass())
{
MyClass myClass = new MyClass();
try
{
myClass.DoSomething();
}
finally
{
IDisposable dis = myClass as IDisposable;
if (dis != null)
{
dis.Dispose();
}
}

有時候了解Compiler的真正運作方式,能幫助程序員更有信心決定使用時機。



原文: http://www.codeproject.com/KB/cs/using_and_IDisposable.aspx

2009-04-27

觸發檔案下載視窗

ASP.NET網頁中,要觸發一個file下載,通常用下面語法即可。 
string filePath = "c:\download\test.doc";
Response.Clear();

// Specify the Type of the downloadable file.
Response.ContentType = "application/octet-stream";

// Set the Default file name in the FileDownload dialog box.
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);

Response.Flush();

// Download the file.
Response.WriteFile(filepath);

昇陽發表MySQL 5.4預覽版

MySQL 5.4預覽版支援Linux及Solaris 10的64位元版本,預計在今年出爐的正式版將會擴大支援其他軟、硬體平台。

在被甲骨文宣布併購昇陽的同時,昇陽於周二(4/22)的MySQL年度會議上發表開放源碼資料庫MySQL 5.4預覽版供使用者下載,該版本提昇了延展性,其回應速度的改善最高可達90%。

昇陽說明,MySQL 5.4版讓InnoDB儲存引擎可擴展到16-way x86伺服器及64-way CMT伺服器,並改善子查詢最佳化(subquery optimizations)與結合(JOIN)功能,因此對特定查詢的回應速度可快上90%,而且這些效能與延伸性的改善不需要使用額外的應用程式或撰寫SQL程式碼便能使用。

thePlatform的資料庫部署經理Phil Hildebrand表示,初期測試MySQL 5.4時發現其應用程式效能最高可提昇40%。

根據昇陽所列出的MySQL 5.4版特性,其改善的部份包括提升近兩倍的延伸性;改善查詢分析運作方式讓子查詢可在零散的時間進行以加快回應速度;採用新的查詢法則;採用SIGNAL/RESIGNAL提供更健全的錯誤管理以改善儲存程序;在預先編好的指令(prepared statements)中支援輸出參數;改善Information Schema及對DTrace的支援等。
MySQL 5.4預覽版支援Linux及Solaris 10的64位元版本,預計在今年出爐的正式版將會擴大支援Microsoft Windows、Sun Solaris 10、Mac OS X、Free BSD、HP-UX、IBM AIX及IBM i5/OS等其他軟、硬體平台。

From: http://www.ithome.com.tw/itadm/article.php?c=54609

Windows 7發佈時間表

在一些知名論壇看到Windows 7發佈時間的小道消息,轉貼過來。
 
Windows 7 RC版本(Build 7100):
內部發佈日期為4月24日,公開發佈為5月5日
Windows 7 RTM版本(Build 7200):
2009年第三季度,微軟計畫在9月份之前向OEM廠商和特定消費群體提供RTM版本
Windows 7公開發售版本:
2010年1月。

查了網路驗證以上的消息,差不多那樣:
Updating the Windows 7 release schedule

2009-04-23

Volume Shadow Copy Service

VSS support for WOW64 was removed in Vista/WS08.  If you are running a 32-bit application on 64-bit OS , then this is expected. 

Please refer the following link for more details
http://msdn.microsoft.com/en-us/library/bb968832(VS.85).aspx

意思是說,純32位元的程呼叫陰影備份服務的方式,無法執行於Vista 64或之後的版本,
必須編譯成純64軟件才能被支援。

很多知名備份軟件(如Cobian Backup)是純32位元的軟件,其陰影備份機制在Vista64裏會失效。