Fallow's answer說法並不準確,處理程序映射IIS7從IIS6腳本映射不同的處理
。
在IIS7的管理控制檯中,UI中沒有顯示重要屬性preCondition
屬性。
preCondition
屬性用於指定何時應調用處理函數。回答你的問題:
例如,我看到幾個條目的* .aspx路徑。哪一個 獲勝?是否有些條目僅適用於經典流水線 已啓用,而其他一些條件適用於集成流水線?並且位數(32位,64位)影響哪些條目被考慮?
不同的前提條件用於決定應該調用哪個處理程序.aspx
。例如,在安裝了ASP.NET 2.0和ASP.NET 4.0的64位系統上,定義了六種可能的.aspx
處理程序映射。每個人都有不同的規則preCondition
:
<add name="PageHandlerFactory-ISAPI-4.0_32bit"
path="*.aspx"
modules="IsapiModule"
scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="PageHandlerFactory-ISAPI-4.0_64bit"
path="*.aspx"
modules="IsapiModule"
scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="PageHandlerFactory-Integrated-4.0"
path="*.aspx"
type="System.Web.UI.PageHandlerFactory"
preCondition="integratedMode,runtimeVersionv4.0" />
<add name="PageHandlerFactory-Integrated"
path="*.aspx"
type="System.Web.UI.PageHandlerFactory"
preCondition="integratedMode" />
<add name="PageHandlerFactory-ISAPI-2.0"
path="*.aspx"
modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="PageHandlerFactory-ISAPI-2.0-64"
path="*.aspx"
modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv2.0,bitness64" />
如果你看一下每個preConditions
上面他們都略有不同,這是IIS如何選擇執行哪個處理程序映射。
欲瞭解更多信息,請參閱:
http://www.iis.net/ConfigReference/system.webServer/handlers/add
也有一個偉大的文章,其解釋處理程序映射,並在這裏他們preConditions
:
Achtung! IIS7 Preconditions
來源
2011-08-12 01:56:10
Kev
非常感謝。完成閱讀最後一篇文章。你知道「\ *」之間有什麼區別嗎?和處理程序的路徑參數中的「\ *」?我猜路徑參數的工作方式就像是一個文件夾中的dir路徑,當文件的請求類似於GET \ f1 \ f2.f3 \ f4 \ abc時,文件的名稱是「abc」,arg1.arg2.arg3 = 3.1&arg4.txt。如果是這種情況,那麼我不會想象GET語句如何匹配「*。」。像GET \文件夾\頁面。?a = 1&b = 2 – Eduard
@eduard - 你可以問一個單獨的問題嗎? – Kev
Ups。抱歉。 [新問題](http://stackoverflow.com/questions/7039680/meaning-of-path-attribute-on-handlers-in-web-config) – Eduard