2013-06-30 41 views
0

因此,進出口讀取:由於沒有明顯的ISAPI映射,ASP.Net路由如何完成?

如果文件擴展名還沒有被映射到ASP.NET,ASP.NET將 不接收請求。這對於瞭解使用ASP.NET身份驗證的應用程序 很重要。例如,因爲 .htm文件通常沒有映射到ASP.NET,所以ASP.NET不會在 文件的請求上執行身份驗證或授權檢查。因此,即使一個文件僅包含靜態內容,如果您想要ASP.NET檢查身份驗證,請使用文件 將該文件創建爲映射到ASP.NET的名稱擴展名,例如.aspx。

我的理解給出明顯的.htm <> ASP.net ISAPI映射的網絡服務器,但怎麼樣在路由表中的路由?我沒有將這些URL映射到Web服務器中,因此Web服務器如何知道將這些URL轉發到ASP.Net?

回答

1

所以至少有兩件這樣的問題:

第一個是如果你是在IISclassic modeintegrated mode運行。 Classic mode將使事情像IIS 6一樣,其中一切都是ISAPI filter,包括ASP.NET本身。 Integrated模式利用了IIS 7從頭開始重寫並且現在使用模塊的事實。

其次,爲什麼IIS知道如何轉發URLASP.NET簡單的答案是在IIS 7+管道Routing Module; ISAPI filters現在是ISAPI Filters Module的一部分。

有關的IIS 7+管道從Routing/URL-Rewriting角度如何工作的直觀描述,讀IIS URL Rewriting and ASP.NET Routing

因此,好消息是,如果你非常連接到ISAPI filter方法,您可以使用IISclassic mode