程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Asp.net 一般處理程序+擴展

Asp.net 一般處理程序+擴展

編輯:關於ASP.NET

     在上一篇博客中,提到一般處理程序真的不一般。這篇博客主要是給大家解惑。由於最近在做項目的過程中,用到了很多的一般處理程序,相信你也一定用到過,但是你真的了解它嗎?

     

    介紹:

     

    一般處理程序的一般是相對於aspx頁面來說的,它介於請求與響應之間的處理程序。說白了就是去掉了前台appx HTML 頁面的cs部分,什麼請求都可以處理,實現IHttpHandler接口。


    通過VS2012中創建一個一般處理程序將會生成兩個後綴名的文件.ashx和.ashx.cs。其中.ashx.cs對應的內容,如以下代碼:

     

    ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 using System; using System.Collections.Generic; using System.Linq; using System.Web;   namespace web {     /// <summary>     /// Handler 的摘要說明     /// </summary>     public class Handler : IHttpHandler     {           public void ProcessRequest(HttpContext context)         {             context.Response.ContentType = "text/plain";             context.Response.Write("Hello World");         }           public bool IsReusable         {             get             {                 return false;             }         }     } }



    從上面的代碼可以看到,一般處理程序實際上就是一個實現IHttpHandler接口的處理程序類,這個處理程序被ASP.NET直接在系統配置文件映射到了ashx擴展名的請求上。這樣,我們就不需要在配置文件中進行配置了。

    優點:

     

    因為不必繼承Page類,所以沒有那麼多的事件要處理,消耗資源少,性能比aspx高。

    實現:

     

    一般處理程序可以完成的功能很多,輸出HTML,效果跟aspx+cs是一樣的,還可以用來發送非html類或無需html代碼的數據等,比如文本、XML、圖片,甚至二進制文件格式,還有最常用json數據格式等。

     

    簡單的舉三個最常用的例子:

    1、圖片過濾(防盜鏈)
    2、圖片驗證碼

    3、處理自定義後綴名請求

    這個三個例子的代碼,我通過轉載的博客,為大家做一個詳細的介紹。

     

    總結:

     

    以往我們都是從功能的角度來學習和思考某個頁面怎樣用,隨著不斷學習的深入,我更加的認為應該從原理和本質認識和學習,從上面轉載的博客為大家解決這個問題。

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