web-dev-qa-db-ja.com

asp.net MVC 3 Webアプリケーションの<customErrors mode =” on”>を定義する場所と方法

カスタムエラーをtrueに設定して、ユーザーがアプリケーションに関する詳細情報を表示できないようにします。しかし、これをどこに書くべきかはわかりません<customErrors mode="on">;それはweb.configまたはweb、debug.configまたはどこにあるべきですか?

BR

42
john Gu

私の経験から、リリースモードでカスタムエラーをオンにし、デバッグでオフにする必要があります。これを自動的に行うには、次の例のように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" />
88
Soul_Master

これは依存しますが、通常は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 を参照してください。

7
devdigital

Web.configに入力し、リダイレクト用のエラーページを作成します。 MVCには、HandleErrorAttributeがあり、クラスでマークして予期しないエラーを処理し、ログに記録してエラーページをスローします。カスタムエラーは、既知のステータスコードを持つ特定のエラーのデフォルトページです。

<system.web>
    <customErrors mode="On">
      <error statusCode="404" redirect="/PageNotFound?" />
    </customErrors>
</system.web>
5
toannm