2008/06/11

[ASP.Net]透過WebRequest抓取網路上的圖檔

以下程式是透過 WebRequest 的方式將網路中的圖檔存到本機:

string Url = "http://l.yimg.com/tw.yimg.com/i/tw/hp/spirit/yahoo_logo.gif";
string FullFileName = @"c:\tmp\yahoo_logo.gif";
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(Url);
//預設TimeOut是30秒
webReq.Timeout = 30000;
HttpWebResponse webResp = (HttpWebResponse)webReq.GetResponse();
//檢查儲存的檔案路徑,其目錄是否存在
if (!Directory.Exists(Path.GetDirectoryName(FullFileName)))
{
    //建立目錄
    Directory.CreateDirectory(Path.GetDirectoryName(FullFileName));
}
using (BinaryReader imgStream = new BinaryReader(webResp.GetResponseStream()))
{
    File.WriteAllBytes(FullFileName, imgStream.ReadBytes((int)webResp.ContentLength));
}

2008/04/25

[ASP.Net]AJAX的SlideShowExtender使用說明

ASP.Net 的 AJAX Control Toolkit 有一個用來做圖片輪播的 SlideShowExtender.
以下的範例除了說明該 Control 的運作, 亦說明如何依使用者所點選的分類, 來呈現該分類下的圖片.

2008/02/20

[SQL Server 2005]使用mdf檔附加資料庫(無ldf檔)

假如要將 A 電腦資料庫的 Test.mdf 檔(無 ldf 檔) 附加到 B 電腦的資料庫, 步驟如下:
  1. 在 B 電腦的 SQL Server 中新增一個資料庫, 例如: Test.
  2. 停止 B 電腦的 SQL Server 服務.
  3. 將 A 電腦資料庫的 Test.mdf 檔覆蓋掉 B 電腦 Test 資料庫的 Test.mdf 檔.
  4. 啟動 B 電腦的SQL Server服務.
  5. 在 B 電腦的 SQL Server Management Studio 中, 開啟一個 master 資料庫的查詢視窗.
  6. 設定 Test 資料庫狀態為 EMERGENCY: ALTER DATABASE Test SET EMERGENCY
  7. 設定 Test 資料庫模式為"單一使用者": sp_dboption 'Test', 'single user', 'true'
  8. 檢查指定資料庫中所有物件的配置、結構和邏輯完整性: DBCC CHECKDB (Test, REPAIR_ALLOW_DATA_LOSS)
  9. 還原 Test 資料庫模式: sp_dboption 'Test', 'single user', 'true'
  10. 設定 Test 資料庫狀態為 ONLINE: ALTER DATABASE Test SET ONLINE
因為沒有 ldf 檔, 所以可能會有部分交易的資料遺失.

2008/01/04

[ASP.Net] 在asp:Button加入Vaildation與javascript的confirm

  1. 設計 <asp:Button> 與一個需要驗證的 Control:
    <asp:Button ID="btnUpdate" 
    runat="server" 
    Text="更新" 
    CommandName="Update" 
    CausesValidation="false" 
    OnClientClick="return confirmUpdate();" 
    ValidationGroup="vgUpdate" />
    <asp:TextBox ID="txtUpdateName" runat="server" Text="HelloWorld"></asp:TextBox>
    <asp:RequiredFieldValidator ID="UpdateNameRequired" 
    runat="server" 
    ControlToValidate="txtUpdateName" 
    ToolTip="必須輸入名稱。" 
    ErrorMessage="必須輸入名稱。" 
    ValidationGroup="vgUpdate">*</asp:RequiredFieldValidator> 
    • 要將 CausesValidation 設定為 false, 以避免在 Client 端產生多餘的 validation.
    • 在 OnClientClick 中設定呼叫一個 javascript 的 function.
    • 對於要驗證的項目, 需給定一個 ValidationGroup 值 (ex: vgUpdate)

2007/09/06

[System] 用VirtualPC安裝Fedora

問題: 在 VirtualPC 中安裝 Fedora 若選擇 graphical 模式時, 畫面會整個糊掉.

解決方法: 只要在安裝時, 輸入"linux vesa_", 即可順利以 graphical 模式進行安裝.
參考網頁: http://xfreak.com/lpic/buildup/fedoracore6/nph-bbs_sys.cgi?&dsp_bbs_thread=1&sid=1171425709000

補充: fedora10 的安裝畫面跟 fedora5 不太一樣, 要用以下的指令:
vmlinuz initrd=initrd.img vga=0x32D noreplace-paravirt