The Will Will Web | 十一月 2009

The Will Will Web

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

網頁開發人員應對 URL 的大小寫「有感覺」!

我以前混 Linux 的時候就對檔名的大小寫很注意,因為一個英文字母的大小寫搞錯就會都找不到網頁,之後雖然改混 Windows 也沒丟掉之前的習慣,雖然 NTFS 檔案系統或 IIS 在處理 URL 時預設不會特別區分大小寫,打錯大小寫依然找的到網頁,但不管是網址還是檔名,我對大小寫還是很龜毛,看到別人亂取檔名或 URL 大小寫與檔案大小寫不同時也多少也會唸一下,我還曾經被譏笑太無聊,不過今天我就要證明我的堅持是對的!

... 繼續閱讀 ...

善用 Response.IsClientConnected 避免不必要的資源浪費

你在使用網站時不知道有沒有一種經驗是當你按下某一個連結或一個表單按鈕時,突然發現你按錯了,然後你會立即按下 ESC 鍵或按下瀏覽器的停止按鈕中斷網頁執行?我以前就曾經遇到過好幾次這種狀況,而且有些網頁程式執行時間非常長且非常消耗系統資源,例如:匯出幾十萬筆資料、對大量資料進行彙總運算、從伺服器端執行一個長時間的 Web Service 查詢、…等等,雖然使用者很「直覺」的中斷執行,但是伺服器端的程式卻還是會在背景乖乖的把所有的工作做完才會罷手。

... 繼續閱讀 ...

設定 Cookie 時可善用 HttpOnly 特性減低網站安全風險(XSS)

Cookie hijacking 是個很常見的 XSS 攻擊手法,大多是利用網站既有的 XSS 漏洞並透過 JavaScript 取得 documnet.cookie 資料,而 documnet.cookie 就包含所有你在該網頁所有可用的 Cookie 資料,但若你的網站程式在設定 Cookie 的時候有特別加上 HttpOnly 屬性,就可以進一步避免該頁的 Cookie 被 JavaScript 存取,也可保護使用者的 Cookie 不會偷走。

... 繼續閱讀 ...

提升 SQL SERVER 執行效率的小技巧:為 SQL 快取暖身

SQL Server 的效能調校是一門很大的學問,先不論 T-SQL 寫的好與壞如何衝擊效能,我們先假設 T-SQL 已經全部都調到最佳狀態(或是根本無法調整),在這種情境下如何再提升執行效能呢,答案還是非常多,例如:調整磁碟效能、加記憶體、….等,但我今天想特別強調的是 快取 (Caching)。今天我來分享一個非常實用且簡單的伎倆,讓你的應用程式一瞬間即可加快查詢速度。

... 繼續閱讀 ...

介紹好用工具:Web Deployment Tool 1.0 ( 附心得筆記 )

又一個佛心來的工具 Web Deployment Tools,這套工具除了提供基本的 GUI 介面可供站台匯入、匯出外 (如下圖),還提供指令列工具 ( MSDeploy.exe ) 可供 Web Farm 站台間檔案自動同步,可有效簡化多台 IIS 主機站台檔案更新與同步的問題,這對我們在 Web Farm 環境的部署非常實用。不僅僅支援 IIS 7,Web Deployment Tools 還支援 IIS 6 站台的同步,有興趣的人可以試試看。

... 繼續閱讀 ...

IT 經驗談:關於網域主控站安裝在 VM 裡的慘痛教訓

我公司人不多,但還是有導入 AD 架構,運作幾年來其實也沒發生過什麼狀況,但昨天卻發生一件很瞎的 IT 事件,讓我處理這個問題處理到超過晚上 12 點,原因就出在一個非常瞎的原因,實在讓我又氣又恨,不知道要恨 Hyper-V 還是 AD 架構,不過再怎麼說這些都是自找的,只能吃苦當吃補了!

... 繼續閱讀 ...

ASP.NET MVC 開發心得分享 (12):Model Binder 的陷阱

在使用 Model Binder 繫結資料模型時 (Entity Type) ,大部分情況都是非常方便的,可有效減少 Action 參數的用量,也可大幅降低程式複雜度。但是在我們之前的某個專案就採到一個 Model Binder 的地雷,這個地雷不是 ASP.NET MVC 的 Bug,而是一個開發時應注意的地方,採用標準的寫法準沒錯。

... 繼續閱讀 ...

利用健康監視(healthMonitoring)監控你的 ASP.NET 網站狀況

ASP.NET 2.0 有個 健康監視(healthMonitoring) 功能,可用來追蹤所有 Web 應用程式執行時期所發生的各種事件,例如:應用程式啟動(Application_Start)、應用程式結束(Application_End)、不安全的存取、發生例外狀況、…等等。可監視的範圍不限於「發生錯誤」而已,包括整個 Web 應用程式的生命週期都可完整紀錄下來,以便日後分析 Web 應用程式的健康狀況。

... 繼續閱讀 ...