本文續接第一篇,深入探討 IIS 如何識別 .aspx 請求並將其移交給 ASP.NET 執行環境,揭開 ISAPI 擴展與應用程式對應的關鍵角色。
ISAPI (Internet Server Application Programming Interface) 是 IIS 的原生擴展介面。當請求進入 IIS,ISAPI 依副檔名查詢應用程式對應表,決定交由哪個 ISAPI DLL 處理。對 .aspx 而言,對應的是 aspnet_isapi.dll (ASP.NET ISAPI 擴展)。
可在 IIS 站點屬性 → 主目錄 → 配置 中查看應用程式對應:

aspnet_isapi.dll。HttpExtensionProc。HttpContext、HttpRequest、HttpResponse 物件。HttpApplicationFactory 取得或建立 HttpApplication 實例處理請求。aspnet_isapi.dll) 是進入 managed 世界的大門,後續由 CLR 接管執行。下一篇將詳細說明 ASP.NET 內部如何建立 Context、Request、Response 並啟動 HttpApplication 處理管線。