これが私の問題です。私が働いている会社がバージョン 5.0.4 の DotNetNuke インストールで開発したモジュールをインストールしています。
.dnn マニフェスト ファイルには、この追加を含むノード セクションがあります。
<node path="/configuration/system.webServer/handlers"
action="update" key="name" collision="overwrite">
<add name="svc-Integrated" verb="*" path="*.svc"
type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=1111111111111111" resourceType="Unspecified"
preCondition="integratedMode"/>
</node>
DNN アプリケーションの web.config には、configuration/system.webServer/handlers セクションにこの追加がまだ含まれていないため、web.config に追加されます。
次に、Web サイトを読み込もうとすると、次のようなエラーが表示されます。
Cannot add duplicate collection entry of type 'add' with
unique key attribute 'name' set to 'svc-Integrated'
この svc-Integrated の重複エントリがどこから来ているのかを探すのにしばらく時間を費やしましたが、最終的に、DNN Web アプリケーションが存在する Web サイトの IIS を調べることがわかりました。Handler Mappingsのセクションがあり、Web サイト用の svc-Integrated タグがそこにあり、Entry TypeがInheritedになっています。
svc-Integrated ハンドラーがどこから継承されているかを調べようとしています。
編集: c:\windows\Microsoft.NET\Framework\v2.0.50727\CONFIGのmachine.configファイルとweb.configファイルを調べましたが、"svc-Integrated" というエントリはまったくありません。名前。Machine.configとweb.configのそれぞれの下にあるFramework64フォルダーと v4.* フォルダーを調べてみましたが、これらの場所のいずれにも svc-Integrated がないため、IIS がどこで取得されているのか少しもわかりません。 :(からのこのハンドラー定義