カスタムエラーをtrueに設定して、ユーザーがアプリケーションに関する詳細情報を表示できないようにします。しかし、これをどこに書くべきかはわかりません<customErrors mode="on">
;それはweb.configまたはweb、debug.configまたはどこにあるべきですか?
BR
私の経験から、リリースモードでカスタムエラーをオンにし、デバッグでオフにする必要があります。これを自動的に行うには、次の例のようにweb.config変換を使用できます。
Web.Debug.config
この設定により、Webサーバーは有用なエラー情報を含むASP.NETイエローページを表示できます。
<customErrors mode="Off" xdt:Transform="Replace" />
Web.Release.config
一方、ユーザーに技術的エラーを知らせたくありません。 ASP.NETイエローページの代わりにカスタムエラーページを使用する必要があります。
<customErrors mode="On" xdt:Transform="Replace" />
これは依存しますが、通常はWeb.configファイルにあります。
Web.Debug.configとWeb.Release.config(およびその他の構成バリエーション)は、アプリケーションをデプロイするときに使用されます。発行操作を実行すると、展開中にWeb.configファイルに変換が適用されます。つまり、設定したデバッグ、リリース、およびその他の構成に特定の構成設定を適用できます。
開発中に通常公開操作を実行しない場合は、Web.configファイルを有効にするためにこの設定をWeb.configファイルに適用する必要があります。
Web.configファイルの変換の詳細については、 http://msdn.Microsoft.com/en-us/library/dd465318.aspx を参照してください。
Web.configファイルにcustomErrors要素を追加する例については、 http://msdn.Microsoft.com/en-us/library/h0hfz6fc.aspx を参照してください。
Web.configに入力し、リダイレクト用のエラーページを作成します。 MVCには、HandleErrorAttributeがあり、クラスでマークして予期しないエラーを処理し、ログに記録してエラーページをスローします。カスタムエラーは、既知のステータスコードを持つ特定のエラーのデフォルトページです。
<system.web>
<customErrors mode="On">
<error statusCode="404" redirect="/PageNotFound?" />
</customErrors>
</system.web>