ノート
以下で説明している問題は、ファイルで指定された DLL ファイルの読み込み中に発生したエラーに固有のものであると判断しましたweb.config
。エラーの場合でもユーザーフレンドリーなエラーを提示したいと思いますweb.config
。
エンドノート
ASP.Net アプリケーションでサーバー エラーが発生した場合、次のデフォルトの怖いメッセージではなく、カスタム エラー メッセージをユーザーに表示したいと考えています。
Server Error in '/' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
非常に単純な HTML ページを作成し、アプリケーションのルートに配置しました。これは、MaintenancePage.htm と呼ばれます。
web.config ファイルを次のように設定しました。
<customErrors mode="RemoteOnly" defaultRedirect="MaintenancePage.htm">
<error statusCode="404" redirect="PageNotFound.aspx" />
</customErrors>
私も試し~/MaintenancePage.htm
てみましhttp://[mysite]/MaintenancePage.htm
た。これらのオプションはどれも機能していないようです。
私がこれをテストしている方法は、私のプロジェクトが依存している DLL の名前を変更し、Web ブラウザーでサイトをロードすることです。エラーとdefaultRedirect
セットがあるので、エラー ページの表示に問題はないはずですが、明らかに間違っています。
この問題について調べてみたところ、ほとんどの人がページにリダイレクトしようとaspx
していて、それを行う際にエラーが発生しているようです。多くの人は、ページを としてロードすることはできませんが、aspx
ページをロードすることはできると報告しています。defaultRedirect
html
ここで何が間違っているのでしょうか?
会社のファイアウォールの外側にある別のネットワークからテストを行っていることに注意してください。ドキュメントによると、変更は問題ではありませんRemoteOnly
。On
テストでは、予想どおり、 に変更RemoteOnly
しOn
ても効果はありませんでした。