2012年10月18日 星期四

IHttpHandlerFactory 玩弄紀錄

泛型處理常式犯行處理常識

第一次見到他就覺得名字很討喜

當時只是為了把資料庫2進位資料轉成圖片而用到它

又過了一段時光學會了用他來搞AJAX

從此我就偏好使用HttpHandler來處理非同步

IHttpHandlerFactory是他老媽,我跟她就沒那麼熟平常沒事就搞她,今天換搞她老媽



估狗了一番,老樣子有看沒有懂,照慣例瞎搞吧



之前 $.ajax() 的時候,都直接 url: 'xxx.ashx' 去呼叫 HttpHandler,好處是 Web.config 不用指定路徑

但是總隱約覺得這樣不是很好,雖然說出上來為什麼

如果每個 HttpHandler 都搬到類別庫,再指定路徑的話,有很多 HttpHandler 的時候 Web.config 就暴肥

如果我可以只指定一次路徑,但是之後可以呼叫不同的 HttpHandler 那該有多好,或許我只是在做夢吧 - <head first 名言>



Web.config 指定(虛擬)路徑給 HttpHandlerFactory

HttpHandlerFactory 跟 HttpHandler 都放在類別庫中

隨便拉4個按鈕來觸發AJAX,這時 url 呼叫虛擬路徑,就會觸發類別庫的 HandlerFactory.GetHandler()

GetHandler() 提供的參數足夠來判斷呼叫的來源,判斷邏輯就自由發揮吧

反射吧!男孩 這裡再複習一下利用反射直接由類別名稱來產生該類別的實體,以避免寫大量的switch case



效果不值一提 就是按鈕 1 - 4 按了 alert 1 - 4

真正的價值大概是有辦法做到關注點分離,讓原本義大利麵式的 web 專案把頁面跟類別分開來

沒有留言:

張貼留言