2

IIS 7 に asp.net mvc 3 razor ビュー エンジン アプリケーションをデプロイしました。Windows Server 2008 と SQL Server 2008 を使用するサーバーです。asp.net mvc 3 がインストールされています。

Visual Studio 2010 で [発行] ボタンをクリックしました。ローカル フォルダーに発行してから、サーバーにコピーしました。

エラーが発生しています >Sorry, an error occurred while processing your request.

このエラーは、SQL 接続を必要とするビューのみを示しているため、他のページは完全にロードされます。

正しい接続文字列で接続文字列を変更したと確信しています。

Webで役立つものは何もないので、助けてください。

ありがとう

4

3 に答える 3

3

まず、エラー ビューが表示される原因となっている例外が何であるかを知る必要があります。

3つのオプションを提案できます。

  1. <customErrors> セクションをオフにすると、HandleErrorフィルターが機能せず、実際の例外が表示されます。

  2. HandleErrorフィルターはインスタンスをエラー ビューにも渡すため、そのモデルにアクセスすることHandleErrorInfoで、エラー ビュー自体に完全な例外を表示できます(本番環境では賢明な考えではないエラーを知るためだけです)。

    @model System.Web.Mvc.HandleErrorInfo
    
    <p>
       The exception is: @Model.Exception
    </p>
    
  3. 未処理の例外をすべて記録するELMAHライブラリを試すことができます。HandleErrorフィルターは例外を抑制し、 ELMAH によってログに記録されるのを停止するため、 ELMAH試すHandleErrorときはオフにすることをお勧めします。別のデータベースで構成する必要があり、最近のすべてのエラーを一覧表示するページが提供されます。ELMAH

于 2012-05-21T06:32:13.607 に答える
0

以下を確認してください。

  • IISで展開するアプリプールは、正しいバージョンの.NETを使用しています(.NET 4統合モードアプリプールを使用する必要があります)
  • ASP.NETでの実行を妨げるエラーの場合は、サーバーのイベントログにエラーを記録する必要があります。アプリケーションおよび/またはシステムログを確認してください。
于 2012-05-20T14:07:04.697 に答える
0

リクエストされたページの一部のコードにエラーがあります。したがって、ASP.NET MVC は error.cshtml の内容を表示しています。

ブラウザーでエラーを確認できるように、web.config でカスタム エラー ページを無効にすることができます。あなただけでなく、誰もがそれを見ることができることに注意してください。したがって、問題が何であるかを理解したら、その設定を元に戻したほうがよいでしょう。サーバーからのみ表示されるように値を設定することもできremoteonlyます。これは、サーバーへのリモート アクセスがある場合にのみ機能します。

于 2012-05-20T14:11:17.720 に答える