后綴為 ashx 與 axd 的文件區(qū)別淺析
更新時間:2013年07月30日 11:17:33 作者:
其實擴展名為ashx與為axd基本上是一樣的,都是用于寫web handler,可以通過它來調用IHttpHandler類,它免去了普通.aspx頁面的控件解析以及頁面處理的過程。
唯一不同的地方是:axd擴展名的必須要在web.config中的<httpHandlers>中進行注冊,而ashx直接在項目中當成aspx那樣添加使用即可。
所以在項目的添加文件中,向導只有添加ashx文件的模板,而沒有添加axd文件的模板。那微軟為什么這么無聊搞兩個后綴,全部使用ashx不就行了么?干脆利落。原來,如果你的web handler代碼不在Web的項目中的話,那你就不能使用ashx了,因為如果不在web.config中注冊的話,系統(tǒng)根本不知道要在那個dll庫中才能找到相應的代碼。
如:
<add verb="*" path="OpenSearch.axd" type="Company.Components.HttpHandler.OpenSearchHandler, (命名空間.類名)Company.Extensions(.dll文件名)" validate="false"/>
只有注冊了,web才知道OpenSearch.axd原來是在Company.Extensions.dll中,使用Company.Components.HttpHandler.OpenSearchHandler類處理。
當然你搞個<add verb="*" path="OpenSearch.ashx" type=.... 那也未免不可,習慣規(guī)范而已。
webconfig里那么寫的原理是,首先iis會把.axd的文件handle,然后就交給FreeTextBoxControls.AssemblyResourceHandler, FreeTextBox這個命名的類來處理而不是讓aspnet去處理。
但是你的服務器提供商可能為了安全起見,把.axd到aspnet_isapi.dll的映射去掉了,所以你在服務器運行就錯誤了。你現(xiàn)在唯一能做的就是聯(lián)系你的服務器提供商,讓他們恢復這個映射。
擴展名: .axd
執(zhí)行文件:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll
限制為:GET,HEAD,POST,DEBUG
腳本引擎打勾
在服務器的IIS里有個默認的映射:就是將*.axd映射到aspnet_isapi.dll上。
所以在項目的添加文件中,向導只有添加ashx文件的模板,而沒有添加axd文件的模板。那微軟為什么這么無聊搞兩個后綴,全部使用ashx不就行了么?干脆利落。原來,如果你的web handler代碼不在Web的項目中的話,那你就不能使用ashx了,因為如果不在web.config中注冊的話,系統(tǒng)根本不知道要在那個dll庫中才能找到相應的代碼。
如:
<add verb="*" path="OpenSearch.axd" type="Company.Components.HttpHandler.OpenSearchHandler, (命名空間.類名)Company.Extensions(.dll文件名)" validate="false"/>
只有注冊了,web才知道OpenSearch.axd原來是在Company.Extensions.dll中,使用Company.Components.HttpHandler.OpenSearchHandler類處理。
當然你搞個<add verb="*" path="OpenSearch.ashx" type=.... 那也未免不可,習慣規(guī)范而已。
webconfig里那么寫的原理是,首先iis會把.axd的文件handle,然后就交給FreeTextBoxControls.AssemblyResourceHandler, FreeTextBox這個命名的類來處理而不是讓aspnet去處理。
但是你的服務器提供商可能為了安全起見,把.axd到aspnet_isapi.dll的映射去掉了,所以你在服務器運行就錯誤了。你現(xiàn)在唯一能做的就是聯(lián)系你的服務器提供商,讓他們恢復這個映射。
擴展名: .axd
執(zhí)行文件:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll
限制為:GET,HEAD,POST,DEBUG
腳本引擎打勾
在服務器的IIS里有個默認的映射:就是將*.axd映射到aspnet_isapi.dll上。
相關文章
asp.net中Null在從數(shù)據(jù)庫讀取的時候的一點點小技巧
我們先看下面的一段代碼,這段代碼其實很平常,也是我們平時做項目很常用的一段2012-04-04Ubuntu16.04系統(tǒng)配置.net core環(huán)境
本文給大家介紹的是在Ubuntu16.04系統(tǒng)配置.net core環(huán)境的方法,由于作者本身用的是WIN系統(tǒng),所以這次教程是在VMware中進行的,希望大家能夠喜歡。2016-07-07.NET實現(xiàn)WebSocket服務端即時通信實例
本篇文章主要介紹了.NET實現(xiàn)即時通信,WebSocket服務端實例 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02ASP.NET Core 應用程序中的靜態(tài)文件中間件的實現(xiàn)
這篇文章主要介紹了ASP.NET Core 應用程序中的靜態(tài)文件中間件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04ASP.NET讓FileUpload控件支持瀏覽自動上傳功能的解決方法
這篇文章主要介紹了ASP.NET讓FileUpload控件支持瀏覽自動上傳功能的解決方法,很實用的技巧,需要的朋友可以參考下2014-07-07