2015-05-15 4 views
0

Может ли кто-нибудь сказать мне, как работать с Elmah в MVC 5 .. при возникновении ошибки он должен перенаправить на какую-то страницу по умолчанию, такую ​​как служебная ошибка, Http не найдена.ELMAH: Модули регистрации ошибок и обработчики

public ActionResult About() 
{ 
    ViewBag.Message = "Your app description page."; 
    try 
    { 
     int message = Convert.ToInt32("Hello"); 
    } 
    catch (Exception exp) 
    { 
     Elmah.ErrorSignal.FromCurrentContext().Raise(exp); 
     // throw; 
    } 

    return View(); 
} 

Как я могу перенаправить на страницу ошибки

+0

@Bijan Не могли бы вы посмотреть, что я сделал ... Как я могу перенаправить на конкретную страницу. Когда я получу исключение – karthik

+0

Elmah для _logging_ не передавать сообщение об ошибке на страницу с ошибкой. Посмотрите на 'HandleErrorAttribute' или поместите что-то в свой метод' Application_Error' в свой 'Global.asax.cs'. –

ответ

0

Как уже отметил, Elmah используется в основном для регистрации ошибок. Перенаправление на страницу с ошибкой не несет ответственности Elmah. Чтобы увидеть ошибки в журнал, попал в обработчик Elmah на

http://yourDomain.com/elmah.axd

Теперь, если вы хотите сделать переадресацию за исключением, вы можете сделать

  1. Добавить режим < CustomErrors =» On "defaultRedirect =" YourErrorPage.htm "> in web.config
  2. Перенаправление в Application_Error от Global.asax
  3. Перенаправление внутри пользовательского HandleErrorAttribute (после ведения журнала, в идеале)

НО, все это относится к необработанным исключениям. Ваш обработанный исключение (поскольку запрос комментируется). В таких случаях вам нужно напрямую перенаправить из блока catch, что-то вроде return Redirect("/YourErrorPage.htm");

+0

Спасибо Спасибо! – karthik