0

記事のようにASP.NET構成ファイルの階層と継承は言う

特定のWebサイトのWeb.configファイルには、Webサイトに適用され、サイトのすべてのASP.NETアプリケーションとサブディレクトリを継承する設定が含まれています。

「親」アプリケーション用にこれらの設定があります

<customErrors mode="RemoteOnly" defaultRedirect="GenericError.htm">
    <error statusCode="403" redirect="NoAccess.htm" />
    <error statusCode="404" redirect="FileNotFound.htm" />
    <error statusCode="500" redirect="InternalError.htm" />
</customErrors>

ただし、「子」アプリケーションにはこれらのみが必要です

<customErrors mode="RemoteOnly" />

記事にはまた書かれています

コレクションでは、構成設定は通常、子要素の追加を介してコレクションに追加されるか、子要素の削除を介してキー名で削除されます。または、コレクション全体を子要素のクリアを介してクリアできます。子構成ファイルに追加された設定は、重複が許可されていない限り、親構成ファイルの同じキー名の設定をオーバーライドします。

しかし残念ながら、これは何らかの理由で違法です

<customErrors mode="RemoteOnly">
    <clear/>
<customErrors/>

だから問題は、継承されたcustomErrors要素をクリアする方法ですか?

4

2 に答える 2

1

親の(トップレベルの)web.configにinheritInChildApplications = "false" XML要素を追加しようとしましたか?

<location inheritInChildApplications=”false”&gt;

参照: -http: //www.west-wind.com/WebLog/posts/133041.aspx

于 2009-09-23T22:28:38.523 に答える
0

CustomErrorsは、他の構成設定のようなコレクションではありません-<add />エラーハンドラーを使用していないため、それらをクリアすることはできません-実際、ドキュメントを見ると、CustomeErrors要素の唯一の子はです<error>

また、子アプリケーションを「RemoteOnly」に設定すると、リモートユーザーに表示するカスタムエラーを提供しなくなります。これは本当に必要なことですか。少なくとも別のDefaultRedirectを提供するべきではありませんか?そうしないと、ユーザーに役に立たない黄色の「エラーが発生しましたが、詳細を表示できません」ページが表示されます。

于 2009-09-23T22:52:38.427 に答える