Asp.net

IIS 7、HttpHandler 和 HTTP 錯誤 500.21

  • April 16, 2018

在 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” 處理程序將僅在經典模式下執行。 如果你省略這兩個,處理程序可以在兩種模式下執行,儘管這對於託管處理程序是不可能的

引用自:https://stackoverflow.com/questions/12069415