IIS構成エラー - この構成セクションはこのパスでは使用できません
Webサイトを実行しようとすると、以下のエラーが表示されます。
このWebサイトはWindows 2012 R2でホストされています。
構成エラー:この構成セクションはこのパスでは使用できません。これは、セクションが親レベルでロックされているときに発生します。ロックは、デフォルト(overrideModeDefault = "Deny")、またはoverrideMode = "Deny"または従来のallowOverride = "false"のlocationタグによって明示的に設定されます。
エラーコード:0x80070021
構成ソース:
60: <httpErrors errorMode="Detailed" />
61: <handlers>
62: <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
以下は私が試したすべてのものです。
- IISに「機能と役割を追加する」を使用して.NET 3.5をインストールした。
ApplicationHostファイルで、以下のコードを変更しました。
セクションハンドラ、モジュール、anonymousAuthentication、basicAuthenticationなどoverrideModeDefaultを "Deny"から "Allow"に変更しました。
4.5と同様に.Net 3.5で "HTTP Activation"をしました。
以下は私のWeb設定ファイルハンドラコードです。
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<remove name="OPTIONSVerbHandler"/>
<remove name="TRACEVerbHandler"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>
このパスの機能ウィンドウにすべての機能をインストールしました。インターネットインフォメーションサービス - >ワールドワイドウェブサービス - >アプリケーション開発機能 - > CGIを除くすべてが有効になっています。
機能の委任ASPで先に読み取り専用だったのですが、読み取り/書き込みに変更しました
コマンドプロンプトを使用してロック解除されたハンドラ
しかし、私はまだエラーを取り除くことができません。私の地元の実例は完璧に働いています。また、私はこのエラーが出ている私の本番サーバーでのみ、このWebサイトが機能している開発サーバーを持っています。
この問題の原因を突き止めるために私を助けてください。
以下の手順に従って、親レベルでハンドラのロックを解除します。
1)(IISの)接続ツリーで、サーバーノードに移動してからWebサイトに移動します。
2)Webサイトの場合は、右側のウィンドウにManagementの下にconfiguration editorが表示されます。
3)設定エディタをダブルクリックします。
4)開いたウィンドウの上部に、セクションのドロップダウンがあります。ドロップダウンから「system.webServer/handlers」を選択します。
5)右側には、もう1つドロップダウンがあります。 「ApplicationHost.Config」を選択してください
6)一番右のペインの "Section"の見出しの下に "Unlock Section"があります。それをクリックしてください。
7)applicationHostのハンドラのロックが解除されたら、Webサイトは正常に動作するはずです。
私にとってうまくいったものはHeresで、windows 10のある私の新しいラップトップでも同様の問題がありました。
- 「Windowsの機能の有効化または無効化」を検索してください。
- 「インターネットインフォメーションサービス」をチェックしてください。
- 「World Wide Webサービス」を確認してください。
- 「アプリケーション開発機能」を確認してください
- この下のすべてのアイテムを有効にする
もう一度試してください、今それはうまくいくはずです。
ほとんどのIISセクション はデフォルトでロックされています が、属性overrideModeDefault
を "Deny"から "Allow"に設定することで "ロック解除"できます。 msgstr "管理者モードで%windir%\system32\inetsrv\config
にある ApplicationHost.config ファイルを修正することによる関連セクショングループ
プロジェクトフォルダ内にapplicationhost.configがあります。 c:\ usersフォルダに別のファイルが表示されていても、IISExpressはこのフォルダを使用しているようです。
.vs\config\applicationhost.config
私は、web.configから自分の設定を削除しなければならないことがより良い方法だと思います。コードをサーバーに公開し、IISサーバーインターフェイスから直接削除したいことを実行します。
この方法のおかげで、必要なことをうまく行えば、web.configを入手して違いを比較するだけで済みます。その後、この投稿に解決策を投稿するだけです。
私がこれらのステップを試みたとき私はエラーを受け続けました:
- 「Windowsの機能の有効化または無効化」を検索してください。
- 「インターネットインフォメーションサービス」をチェックしてください。
- 「World Wide Webサービス」を確認してください。
- 「アプリケーション開発機能」を確認してください
- この下のすべてのアイテムを有効にする
それから私はイベントビューアを見て、このエラーを見ました:Unable to install counter strings because the SYSTEM\CurrentControlSet\Services\ASP.NET_64\Performance key could not be opened or accessed. The first DWORD in the Data section contains the Win32 error code.
問題を解決するために、私は手動でレジストリに以下のエントリを作成しました:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASP.NET_64\Performance
そしてこれらのステップに従った:
- 「Windowsの機能の有効化または無効化」を検索してください。
- 「インターネットインフォメーションサービス」をチェックしてください。
- 「World Wide Webサービス」を確認してください。
- 「アプリケーション開発機能」を確認してください
- この下のすべてのアイテムを有効にする
プロジェクトのプロパティをクリックし、Webセクションに移動し、ServersセクションからIIS expressからLocal IISに変更して、仮想ディレクトリを作成します。