The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

介紹一個 ASP.NET 裡鮮為人知的 Response.Filter 屬性

ASP.NET 有一個鮮為人知也很少人使用的 Response.Filter 屬性,Response.Filter 屬性本身是一個 Stream 型別,所以可以利用 Stream 的特性,將 Response.Filter 傳給下一個 Stream 進行資料處理。換句話說,你就可以透過繼承自 Stream 的自訂型別去修改 Response.Filter 傳入的資料,並且將資料進行修正動作。

... 繼續閱讀 ...

Windows Service 新增 Installer 功能並自動開啟防火牆設定

最近正準備寫一支 Windows Service 程式,正好來分享如何讓 Windows Service 程式具有自動安裝的能力,而且若要在安裝的過程中順便開啟 Windows Firewall 的設定時 C# 程式要如何撰寫。

... 繼續閱讀 ...

介紹好用工具:Visual Log Parser ( 視覺化操作 LP 語法 )

前幾天寫了一個複雜的 Log Parser 語法,由於 Log Parser 是指令列工具,所以內建並沒有好用的視覺化編輯工具,這時我就用之前曾經看過的 Visual Log Parser 工具來用,果然有了高亮度顯示(Syntax Highlight)寫起來比較順眼,而且編輯框旁邊又有現成的手冊可以直接參考、有查詢結果(表格式)、查詢結果訊息、查詢屬性等,使用上手感還不錯。

... 繼續閱讀 ...

如何將 Visual Studio 2008 的 prop 程式碼片段換成舊版的

我們常用的 prop 程式碼片段(Code Snippet)可以自動產生一組 Property 屬性的定義,從 Visual Studio 2005 就有了。由於 C# 3.0 新增了一個功能叫做 Automatic properties,可以簡化 Property 的定義語法,導致 Visual Studio 2008 預設的 prop 程式碼片段都被換成「新版」的了。雖然一開始覺得蠻方便的,但是當 Property 需要客製化調整的時候 ( 使用舊語法 ) 就反而變的礙手礙腳的。

... 繼續閱讀 ...

介紹好用工具:SQL Server CE Query Tool

我之前就有一次經驗,當開發的 SQL CE 專案部署到客戶端正式主機時,因為資料疑似沒有寫入 SQL Server Compact 資料庫,所以想要手動查詢資料庫中的資料,但當時只能用 Visual Studio 開啟 SQL Server Compact 資料庫檔 ( *.sdf ),總不能在客戶的主機上安裝 Visual Studio 吧 ( 不過我真的看過有人真的這樣幹 = ='' ),當時苦無工具可用,只好把資料庫當複製回公司然後透過遠端連線查看資料,真的很麻煩。

... 繼續閱讀 ...

ASP.NET MVC 開發心得分享 (3):與 WebForm 共舞

我曾經試著將一些 ASP.NET 內建的伺服器控制項(Server Control)放到 ASP.NET MVC 的 ViewPage 中,結果我發現大部分的伺服器控制項都無法正常運作。首先,用 ASP.NET 內建的伺服器控制項時,一定要使用 <form runat="server"> 包起來,否則會出現以下錯誤訊息:

... 繼續閱讀 ...

如何在 ASP.NET 專案中使用 SQL Server Compact 資料庫

最近在研究 SQL Server Compact ( 或稱 SQL CE ) 資料庫,也順帶研究如何才能讓 SQL CE 資料庫可以在 ASP.NET 環境中正常使用,由於 SQL CE 資料庫在定位上是比較屬於嵌入式資料庫( Embeded Database ),雖然在桌面環境也能使用,不過也僅建議用在「單人操作」的系統中,像對於 ASP.NET 這種多人同時使用的 Web 環境預設就不支援了。

... 繼續閱讀 ...

如何透過 jQuery 進行表格內容數據的垂直加總與水平加總

前幾天為了讓手下的工程師學習 jQuery 物件操作,出了一個小題目給他們練習。我們有一個統計表同時包括「水平加總」與「垂直加總」兩個需求,且這兩個需求已經用 ASP.NET MVC 開發完成了,都是在 View 中寫 C# 程式進行運算的,我的題目是要將運算的部分改用 jQuery 動態算出。

... 繼續閱讀 ...

撰寫 Bash script 需考慮錯誤處理情況 (利用 $? 特殊參數)

我們最近有台 Linux 發生一些異常情況,導致硬碟幾乎快被 Log 填滿了,仔細分析之後才發現原來是因為我們之前寫的一支 Bash Script 並沒有正常執行,導致作業無法完成,所以有一段時間沒有做 Log 壓縮的處理。

... 繼續閱讀 ...