客戶需修改 ASP.NET 頁面卻無原始碼(甚至無二進制檔),這在 Windows 開發中類似「子類化視窗攔截訊息」。ASP.NET 中可透過攔截頁面事件、操作控制項樹、替換基類等手法達成。
| 手法 | 實現層級 | 可存取控制項樹 |
|---|---|---|
| HTTP 模組修改頁面基類 | web.config | 是 |
| web.config 控制項替換 (tagMapping) | web.config | 是 |
| 建構提供者 | 組件 | 是 |
| HTTP 處理常式重導向頁面 | HTTP 處理常式 | 否 |
| HTTP 處理常式/URL Rewrite 重寫頁面 | HTTP 處理常式/URL Rewrite | 否 |
大多數手法需重啟應用程式(修改 web.config/global.asax/Bin/App_Code 均觸發重啟)。下篇將逐一詳解實作細節。