基本上,我試圖寫在ASP.NET的HttpModule以下(僞):ASP.NET HttpModule - 保證執行前後處理程序代碼?
*pre-code*
try { handler.ProcessRequest(...) }
catch (Exception) { *error-code* }
finally { *post-code* }
我發現我可以掛接到HttpModule.PreExecuteHandler爲「預編碼」和.Error爲「錯誤代碼」。但是PostExecuteHandler似乎並不可靠。
BeginRequest和EndRequest運行可靠,但對於我需要編寫的代碼來說還爲時過早,這需要檢查選擇執行的處理程序。直到BeginRequest之後纔會選擇處理程序。
是否有寫這種包裝的最佳做法?
謝謝!
感謝 - 這正是我所期待的,不是爲Server.Transfer,而是爲Request.End()。 PostRequestHandlerExecute肯定不會執行,但我認爲即使在這種情況下EndRequest也會被調用?哦,我會去測試... – 2008-11-18 21:06:32