16

IIS 7では、ASP.NETWebアプリケーションにカスタム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

私はグーグル検索をしました、ほとんどの人はaspnet_regiis.exe / iコマンドでASP.NETを再登録することによってこの問題を修正します、しかしこれは私のために働きません(コマンドは終わります、私はIISを再起動します、しかし同じエラー)2つの異なるサーバーで試しましたが、同じ結果が得られました。

他に何を試すべきですか?ありがとうございました

4

7 に答える 7

19

クラシックモードで実行するようにIISマネージハンドラーを構成することはできません。必要に応じて、IISを統合モードで実行する必要があります。

モジュール、ハンドラー、IISモードの詳細については、次のブログ投稿をご覧ください。

IIS 7.0、ASP.NET、パイプライン、モジュール、ハンドラー、および前提条件

ハンドラーの場合、マッピングでpreCondition = "integratedMode"を設定すると、ハンドラーは統合モードでのみ実行されます。一方、preCondition = "classicMode"を設定すると、ハンドラーはクラシックモードでのみ実行されます。 また、これらの両方を省略すると、ハンドラーは両方のモードで実行できますが、マネージドハンドラーでは実行できません

于 2012-08-22T09:53:55.640 に答える
13

幸いなことに、解決は非常に簡単です。管理者特権のコマンドプロンプトから次のコマンドを実行します。

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

32ビットマシンを使用している場合は、次を使用する必要があります。

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
于 2016-07-14T14:26:32.680 に答える
10

私は同じ問題を抱えていて、実行中に次を実行することで解決しました

%windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -i

于 2016-12-01T15:22:30.210 に答える
3

私は同じ問題を抱えていて、それを解決しました。私はstackoverflowに自分の質問を投稿しました:

IHttpHandlerに配置できません。GETは正常に機能します

解決策は、modules要素でrunManagedModulesForWebDavRequestsをtrueに設定することでした。私の推測では、WebDAVをインストールすると、すべてのPUT要求がそれに関連付けられます。ハンドラーに移動するためにPUTが必要な場合は、WebDAVモジュールを削除し、この属性をtrueに設定する必要があります。

<modules runManagedModulesForWebDavRequests="true">
...
</modules>

したがって、PUT動詞を使用しているときに問題が発生し、WebDAVをインストールしている場合は、このソリューションで問題が解決することを願っています。

于 2015-10-22T21:06:55.410 に答える
1

Windows Server 2016で使用したもの:

dism /online /enable-feature /featurename:IIS-ASPNET45 /all

Powershellを介して実行することもできます。

Install-WindowsFeature .NET-Framework-45-Features

于 2017-10-10T10:58:28.500 に答える
0

この状況は、ASP.netのサービスをインストール/開始していないために発生します。

Windows 7、8、10で以下のコマンドを使用します。

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
于 2018-04-16T11:14:14.737 に答える
-1

私が見つけた解決策の1つは、[詳細設定]の[アプリケーションプール]の下にある管理者がいるサイトを右クリックして、.NetFrameworkをv2.0に戻す必要があることです。

于 2014-06-17T12:44:50.547 に答える