2012-02-10 3 views
0

私はstackOverflowに新しいです& MVC3にも!ASP.NET MVC設定ファイル!デバッグを許可する

私はアプリケーションをホストしました。私はerrorPage(InternalError.htm)に私をリダイレクトします:私が設定ファイルで設定したように!しかし、私は、誰かが私にタグ&追加する属性を思い出させることができ、彼のエラーメッセージを表示するためには、

line 23 : //exception Or Error here 

のようなものを、この設定を変更したいですか?デビュー=真?どこ? 種類について!

答えて

1

あなたはcustomErrors mode="RemoteOnly"を使用することができますし、あなたがのcustomErrors属性(MSDN)を探している

<system.web> 
    <customErrors mode="RemoteOnly" defaultRedirect="~/system/Error/FriendlyError"> 
     <error statusCode="403" redirect="~/system/Error/accessDenied" /> 
    </customErrors> 
</system.web> 
+0

ありがとうございますが、これは私が欲しいものではありません。私はsyntaxeエラー 'ONLINE'のようなものを見たいと思います:行23://例外またはエラー – Bellash

+0

また、ELMAHをチェックしてください:http://code.google.com/p/elmah/エラーログを使うのは簡単ですあなたはNugetパッケージから直接インストールすることができます:http://nuget.org/packages/elmah/ – amhed

0

ローカルコンピュータ上にある場合は、エラーが表示されます。ローカルの開発マシン上で

<customErrors defaultRedirect="url" 
       mode="On|Off|RemoteOnly"> 
    <error. . ./> 
</customErrors> 

あなたはOffまたはRemoteOnlyに設定することができます。プロダクションマシンでは、OnまたはRemoteOnlyに設定します。

場合によっては、RemoteOnlyに設定すると、リモートデスクトップをプロダクションマシンに適用すると例外の詳細が表示されます。それができない場合はOffに切り替えてください。

+0

ローカルでの詳細なエラーはどうですか? 23行目//例外またはエラー – Bellash

+0

デバッグバージョンまたはリリースバージョンを展開していますか? –

+0

申し訳ありませんWouter、私はもうRELEASEまたはDEBUGバージョンが何であるか理解していません! 私はasp.net mvc3アプリケーションを開発しました。右クリックして、[公開/展開]タブを選択しました。私はデバッグSYMBOLSをオンラインでトレースしたいと考えています(ここでは、アプリケーションはホストされています:www.mysite.com)! アイデア? – Bellash

1

カスタムエラーハンドラを使用しました。

Global.asax.csに次のコードを追加します。

protected void Application_Error() 
    { 
     // if the debugger is attached, do not show the custom error page 
     if (System.Diagnostics.Debugger.IsAttached) 
     { 
      return; 
     } 

     try 
     { 
      Exception exception = Server.GetLastError(); 
      Response.Clear(); 
      Server.ClearError(); 
      RouteData routeData = new RouteData(); 
      routeData.Values["controller"] = "MyCustomErrorController"; 
      routeData.Values["action"] = "Index"; 
      routeData.Values["exception"] = exception; 

      IController errorsController = new MyCustomErrorController(); 
      var rc = new RequestContext(new HttpContextWrapper(Context), routeData); 
      errorsController.Execute(rc); 
     } 
     catch (Exception ex) 
     { 
      // if an error occurs within this method, do nothing 
      // app will automatically show the browser's default error page 
     } 
    } 

を私はまた、ユーザーがスーパーユーザーであれば、例外の詳細を表示するには、私のエラーページにカスタムコードを追加しました。したがって、私がデバッグモードやライブサイトにいない場合は、エラーの詳細を簡単に見ることができます(管理者としてログインしている場合)。

コードをよく理解するには、googleを使用するか、デバッガを使用して手順を進めてください。

関連する問題