程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> HttpHandler開發的兩個重點問題

HttpHandler開發的兩個重點問題

編輯:關於ASP.NET

大家在用HttpHandler的時候,一般都會有兩個大的疑問(當然,前提是你有鑽研精神的話,呵呵)

1. IsReusable到底什麼意思?

老實說,這個屬性很多人都感興趣,但搞懂的人確實不多。MSDN中的介紹也是不知所以然。

獲取一個值,該值指示其他請求是否可以使用 IHttpHandler 實例。該屬性默認為false

我來這麼說吧,首先我們為什麼使用自定義的Handler呢?簡單的說,我們是希望能接管掉某些請求, 對吧?最常見的應用如下

對圖片進行處理。例如所有圖片都輸出一個水印。或者防止盜鏈到設計

添加一些特殊的擴展名。例如,我的網站能不能有一個後綴名為chenxizhang的網頁呢?(這當然是一 個比喻,事實上一般沒有必要這麼做)

知道上述的需求之後,我們再來看一下後台的設計。HttpHandler其實就是實現了IHttpHandler接口的 一個類型,它要工作,就必須通過 ASP.NET所提供的一些所謂的Factory去創建實例,然後調用它的 ProcessRequest方法。其實就這麼簡單

因為創建對象實例在服務器肯定是需要占用資源的,那麼我們就勢必要考慮這些請求能不能在一定程 序上去復用。這就是IsReusable的初衷

事實上,我們對這種復用並不會陌生。平常我們就知道對象池和連接池的技術。Handler的Reuse也是 一個池的概念。

好了,說了這麼一堆的概念,我們來講一講該屬性設置為true和設置為false的區別。

設置為true,則通常情況下,就創建一次實例

設置為false,則每次請求都需要創建實例

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved