這篇文章主要介紹了ashx以及ashx文件與aspx文件之間的區別。需要的朋友可以過來參考下,希望對大家有所幫助
ashx是什麼文件? .ashx 文件用於寫web handler的。.ashx文件與.aspx文件類似,可以通過它來調用HttpHandler類,它免去了普通.aspx頁面的控件解析以及頁面處理的過程。其實就是帶HTML和C#的混合文件。 .ashx文件適合產生供浏覽器處理的、不需要回發處理的數據格式,例如用於生成動態圖片、動態文本等內容。 ashx文件是.net 2.0新加的文件類型(其實在.net 1.0下已經可用,但是沒有公開提供). ashx文件和aspx文件有什麼不同? 我們先新建一個ashx文件看看: 代碼示例: 當然你完全可以用.aspx 的文件後綴。使用.ashx 可以讓你專注於編程而不用管相關的WEB技術。.ashx必須包含IsReusable. 如下例所示 代碼如下: <% @ webhandler language="C#" class="AverageHandler" %> using System; using System.Web; public class AverageHandler : IHttpHandler { public bool IsReusable { get { return true; } } public void ProcessRequest(HttpContext ctx) { ctx.Response.Write("hello"); } } .ashx比.aspx的好處在於不用多一個html 看,比aspx簡潔多了吧.只有一個文件,沒有後台cs文件(基於代碼安全考慮,後邊我們會自己添加這個文件).ashx對比aspx文件,就好像 少了cs文件.其實這就是ashx和aspx不同的地方,因為aspx要將前後台顯示和處理邏輯分開,所以就弄成了兩個文件,其實,在最終編譯的時 候,aspx和cs還是會編譯到同一個類中去.這中間就要設計html的一些邏輯處理.而ashx不同,它只是簡單的對web http請求的直接返回你想要返回的結果.比aspx少處理了html的過程.理論上,比aspx要快. 看看.net config文件中對兩個文件類型請求的配置吧 <add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True" /> <add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True" /> 可以看到兩個文件處理的類不一樣(ashx處理的類叫SimpleHandleFactory,既然叫Simple,應該處理過程也比較 Simple.響應速度也應該快點吧:) 只要具體繼承了IHttpHandler如何處理的問題,我這裡找到一篇早期的,介紹.net 2.0編譯模型的問題.比較深奧,要慢慢鼓搗一下:(台灣朋友寫的Pdf文件,上傳不了,在些處略。) 鼓搗完了你就大概明白了ashx不過.net裡面自定義好的一個請求格式,ashx文件類的文件的處理過程要比aspx要簡單得多.