2012-01-30 18 views
16

私はステージングサーバーにASP.NET MVC 3アプリケーションをデプロイしました。エラーが発生するたびに、詳細なエラー情報、つまり「死の黄色い画面」を取得できません。代わりに、私は単純な "申し訳ありません、あなたの要求を処理中にエラーが発生しました。"メッセージ。ASP.NET MVC Webサイトで詳細なエラー情報を取得できません

私のWeb.config はすなわち、のcustomErrorsをオフに含める:この場合

<system.web> 
    <compilation debug="true" targetFramework="4.0"> 
    <assemblies> 
     ... 
    </assemblies> 
    </compilation> 
    <customErrors mode="off"/> 
</system.web> 

を、私は根本的なエラーがある内容を正確に把握ありません。 (私はストアドプロシージャのパーミッションを設定するのを忘れていました)しかし、本当に(再)エラー処理を有効にして、これらのバグをすばやく見つけることができます。もちろん、私たちが実際にセキュリティ上の理由から生きていたら、これを削除します。

既定のASP.NETエラー処理をオーバーライドできるその他の設定はありますか?

+0

[のcustomErrorsモード= "オフ"]の可能複製(http://stackoverflow.com/questions/101693/customerrors-mode-off) –

答えて

31
<customErrors mode="Off"/> 

"オフ"が正しく大文字でなければなりません。 "Editing ASP.NET Configuration Files" から

ケース感度

タグが整形式XMLでなければならないため、タグ、 サブタグ、および属性は大文字と小文字が区別されます。タグ名と属性 の名前はキャメルケースになっています。つまり、タグ の最初の文字は小文字で、それ以降の連結文字の最初の文字は 語の大文字です。ほとんどの場合、文字列の属性値は Pascal-caseです。これは、最初の文字が大文字であり、その後連結される単語の最初の文字が 大文字であることを意味します。例外はtrueとfalseで、常に小文字です。

子供を覚えていると、毎日新しいことが学べます。あなたが学ぶものが不自由なものであっても。

+13

+1、あなたは毎日何か新しいことを学びます。あなたが学ぶものが不自由なものであっても」 :) –

7

お客様のGlobal.asax.csファイルには、HandleErrorAttributeグローバルフィルタが存在する場合があります。その行を削除します。

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
    { 
     filters.Add(new HandleErrorAttribute()); 
    } 
0

(ウェブサイトのディレクトリに展開され、configファイルが同じである場合)、サーバーは、あなたのウェブサイトのために同じ構成ファイルを使用する場合は、チェック

2

良く、長期的な解決策は、あなたのプロジェクトにElmahを追加することも、それが追加されますあなたのWebプロジェクトへの詳細なログ記録。

含む:

  • ほぼすべての未処理の例外のロギング。
  • 記録された例外のログ全体をリモートで表示するWebページ。
  • カラースタックトレースを含む、ログに記録された例外の詳細をすべてリモートで表示するWebページ。
  • 多くの場合、customErrorsモードをオフにしても、特定の例外に対してASP.NETが生成した元の黄色い死亡画面を確認できます。
  • 各エラーの発生時の電子メール通知。
  • ログから最後の15個のエラーのRSSフィード。 「子供たちを覚えているため
関連する問題