カスタムエラーハンドラを使用しました。
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を使用するか、デバッガを使用して手順を進めてください。
ありがとうございますが、これは私が欲しいものではありません。私はsyntaxeエラー 'ONLINE'のようなものを見たいと思います:行23://例外またはエラー – Bellash
また、ELMAHをチェックしてください:http://code.google.com/p/elmah/エラーログを使うのは簡単ですあなたはNugetパッケージから直接インストールすることができます:http://nuget.org/packages/elmah/ – amhed