Asp.net
IIS 7、HttpHandler 和 HTTP 錯誤 500.21
在 IIS 7 上,我正在嘗試為我的 ASP.NET Web 應用程序使用自定義 HttpHandler。我使用管道模式“經典”,.NET 版本是 4.0.30319,我的處理程序的 web.config 配置是:
<system.webServer> <handlers> <add name="MyHandler" path="*.myExtension" verb="*" type="Company.App.UI.Controls.MyHandler, Company.App.UI" resourceType="Unspecified" /> </handlers> </system.webServer>當我呼叫這個處理程序時,我得到這個錯誤:
HTTP Error 500.21 - Internal Server Error Handler "MyHandler" has a bad module "ManagedPipelineHandler" in its module list我做了一個Google搜尋,大多數人通過 aspnet_regiis.exe /i 命令重新註冊 ASP.NET 來解決這個問題,但這對我不起作用(命令完成,我重新啟動 IIS,但同樣的錯誤)。我在兩台不同的伺服器上嘗試過,但得到了相同的結果。
我還應該嘗試什麼?謝謝
無法將 IIS 託管處理程序配置為在經典模式下執行。如果你想這樣做,你應該在集成模式下執行 IIS。
您可以在以下部落格文章中了解有關模組、處理程序和 IIS 模式的更多資訊:
IIS 7.0、ASP.NET、管道、模組、處理程序和前置條件
對於處理程序,如果您在映射中設置 preCondition=“integratedMode”,則處理程序將僅在集成模式下執行。另一方面,如果您設置 preCondition=“classicMode” 處理程序將僅在經典模式下執行。 如果你省略這兩個,處理程序可以在兩種模式下執行,儘管這對於託管處理程序是不可能的。