l 使用contextattribute和contextboundobject來對對象的方法進行攔截。關(guān)于contextattribute的具體使用方法,讀者可以參考msdn等相關(guān)資料。
l 使用emit來,在運行時刻動態(tài)構(gòu)建被織入代碼后的類,當程序調(diào)用被織入類時,實際上調(diào)用的是被修改后的類。loom使用的就是這種方式,但是,個人認為,loom目前的實現(xiàn)非常生硬,其可擴展性和靈活性都不是很好。
l 使用proxy模式。這也是本文將詳細介紹的方法。
l 當然,在asp.net項目中,我們還有一種選擇,就是使用httphandler和httpmodule來對自定義對asp.net頁面的訪問,加入一些我們需要的處理。關(guān)于如何使用httphandler和httpmodule的內(nèi)容,可以參考筆者的文章《asp.net中自定義http處理及應用之httphandler篇》,以及《asp.net中自定義http處理及應用之httpmodule篇》