ELMAH (Error Logging Modules and Handlers) 專門用來紀錄 ASP.NET 網站執行時期的錯誤,對維護網站軟體品質來說有很大的幫助。不過 ELMAH 記錄的資訊過於詳細,一般來說我們都還是會設定各種存取限制,例如透過限定使用者或角色的方式。本篇文章我將說明如何透過 IIS7 / IIS8 內建的 IP Security 模組,來限制特定 IP 來源才能存取 ELMAH 錯誤紀錄頁面。
... 繼續閱讀 ...
我幾乎每次在 ASP.NET 的教學場合裡都會提到在 ASP.NET MVC 專案中安裝 ELMAH (Error Logging Modules and Handlers) 的重要性,不僅僅是在開發環境或測試環境能夠收錄完整的錯誤訊息,即便在正式運行的網站也非常適合安裝 ELMAH 錯誤記錄模組。不過,當 ASP.NET MVC 網站的 web.config 設定為 <customError mode="On" /> 的情況下,由於 ASP.NET MVC 專案預設都會套用 HandleErrorAttribute 全域動作方法 (Global Action Filter),因此網站執行過程任何的例外都會被過濾掉,若不做特殊的設定還無法透過 ELMAH 取得錯誤紀錄,本篇文章將分享如何有效率的解決這個問題。
... 繼續閱讀 ...
每個網站必備的 ELMAH (Error Logging Modules and Handlers) 模組,在使用 ASP.NET Web API 時卻無法自動套用,也就是說 ASP.NET Web API 執行的過程中發生任何例外,預設都不會自動寫入 ELMAH 指定的儲存區。那是因為 ASP.NET Web API 的主要用途是用來回應呼叫 RESTful API 的用戶端要求,為了不讓用戶端得到不符合 JSON 或 XML 格式的訊息內容,因此所有例外都會被 ApiController 基底類別給攔截,如果我們想在 ASP.NET Web API 實作錯誤紀錄,則必須透過 Action Filter 來設定。
... 繼續閱讀 ...
長久以來微軟的開發平台一直都沒有像其他開發平台常見的套件管理工具,像是 PHP 就有 PEAR 可用、Perl 也有 PPM (Perl package manager),甚至 Python 也有 PyPM (Python Package Manager) 等等。大約在去年八月左右微軟內部開始進行了一個套件管理員的開發計畫名為 NuGet,此工具主要跟 Visual Studio 2010 結合使用,可讓你在使用 Visual Studio 2010 開發專案的過程中隨時安裝、更新套件,像是 jQuery, ELMAH, log4net, … 等等目前共有上千個套件可供選擇,NuGet 的出現可說是所有開發人員的福音,絕對是個必學的工具之一!
... 繼續閱讀 ...