ashx一般處理程序


說明:
    雖然通過標准的方式可以創建處理程序,但是實現的步驟比較復雜,為了方便網站開發中對處理程序的應用,從Asp.net 2.0開始,asp.net提供了稱為一般處理程序的處理程序,允許我們使用比較簡單的方式定義擴展名為ashx的專用處理程序。

好處:
    通常是實現IHttpHandler接口,因為不必繼承自Page類,所以沒有那么多事件需要處理,不必消耗太多資源,所以性能方面要比aspx高

使用場景:
    對於asp.net網站來說,網站最覺的處理結果就是HTML網頁,生成網頁的工作通常使用擴展名為aspx的Web窗體來完成。對於處理結果不是HTML的請求,都可以通過一般處理程序完成。例如生成RSS Feed、XML、圖片等。
    一般處理程序是asp.net網站中最為簡單、高效的處理程序,在處理返回類型不是HTML的請求中有着重要的作用。

代碼:
    通過vs2010中新創建的一般處理程序將會生成兩個文件show.ashx和show.ashx.cs。其中show.ashx文件中的內容如下所示:
   

<%@ WebHandler Language="C#" CodeBehind="Show.ashx.cs" class="Web.API.Show" %>

    對應的代碼文件show.ashx.cs中的內容如以下代碼所示。

using System;
    using System.Web;
    public class show:IHttpHandler{
     /// <summary>
        /// 如果 IHttpHandler 實例可再次使用,則為 true;否則為 false。
        /// 在並發情況下,如果你當前的handle調用了某個獨占的線程(進程)(比如說,你的handle獨占寫入某個文本文件(所有的並發都需要寫入這個))那么就需要設置為false;
     /// 如果你的handle沒有這種非安全的情況,就可以直接設置為true。通常大多數項目都設置為true的
        /// </summary>
public bool IsReusable{ get{ return false; } } public void ProcessRequest(HttpContext context){ context.Response.ContentType = "text/plain"; context.Response.Write("Hello World"); } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM