解決方法:
(一)創建一個繼承了System.Web.IHttpHandler接口的類
在System.Web.IHttpHandler接口有兩個成員ProcessRequest()方法和IsReusable()屬性。ProcessRequest(System.Web.HttpContext context) 方法,除了用戶自定義中被要求處理的特殊的http請求。其中的參數 System.Web.HttpContext 類的實例裝入了一個http請求中http協議中要求的所有信息。其中System.Web.HttpContext 類中包含有屬性 Request 使得從客戶端發送過來的http請求信息的值可以被方便地讀取;屬性Response 它封裝了需要返回給客戶端的信息和操作。
IsReusable()屬性要置為true.
(二) 創建一個資源圖片的方法Real()
1.若是盜鏈服務器給其錯誤圖片。
2.若不是盜鏈服務器給其正常的圖片。
在Real()方法中用到了FileInfo 這個類去取得圖片的擴展名並用來判斷圖片的類型.
(三) 注意頁面的緩存(response.Expires=1;獲取和設置浏覽器上緩存的頁過期之前的分鐘數.如果用戶在頁過期之前返回同一頁,則顯示緩存的內容)
(四)配置應用程序擴展名映射
因為IIS在接收到ASPx頁面請求時,會為其自動加載一個C:\Windows\Micosoft.Net\Framework\v1.1.4322
\ASPnet_isapi.dll文件。
虛擬目錄和文件夾的屬性裡面的”執行許可”改為“純腳本”。
若是有多個Web.config那麼只要在總目錄下有就可以了,其它地方的均可刪除。
(五)在 Web.config這個網絡應用程序配置文件中加入注冊信息
<system.web>
<httpHandlers>
<add verb = "*" path = "*.jpg\.IEf\.jpg\.jepg\.bmp\.png\.tif\.emf\.ras\.pnm\.pbm\.pgm
\.ppm\.rgb\.xbm\.xpm\.xwd\.did\.ico\.emf"type="HandlerExample.HttphandlerTest,HandlerExample"/>
.
.
</httpHandlers>
</system.web>\