2015-07-13 2 views
1

У нас есть приложение MVC, что является лучшим способом записи ошибок, возникших (пользователями) в нашу базу данных поддержки? пользователи должны видеть только «эта ошибка сообщается» сообщение об ошибкеMVC 5 C# сообщения об ошибках обратно в базу данных

все детали должны быть записаны в базу данных

, пожалуйста, помогите!

+0

что произойдет, если есть ошибка подключения к базе данных службы поддержки? tbh лучшим местом для ошибок журнала является текстовый файл на сервере приложений. – user1666620

+2

Использовать регистратор ... как log4net, который будет регистрироваться в вашей базе данных –

+0

@ user1666620 Будьте осторожны, требуя «лучшей» практики. Вы найдете разные мнения (особенно, когда файлы журналов заполнили файловую систему). – Richard

ответ

1

Я предлагаю вам либо использовать внешнюю библиотеку, как Log4Net, либо создать собственный класс библиотеки, который будет вести для вас журнал.

Еще одно предложение - использовать ExceptionFilter, который доступен в файле MVC и записывает код регистрации в этом фильтре. Я предлагаю, потому что это не заставит вас писать код снова и снова, это следует принципу DRY.

Пример:

public class CustomExceptionFilter: FilterAttribute, 
IExceptionFilter 
{ 
    public void OnException(ExceptionContext filterContext) 
    { 
     if (!filterContext.ExceptionHandled) 
     { 
      //log error here 
      Logger.LogException(filterContext.Exception); 
      //this will redirect to error page and show use logging is done 
      filterContext.Result = new 
         RedirectResult("customErrorPage.html"); 
      filterContext.ExceptionHandled = true; 
     } 
    } 
} 

, чем вы можете сделать, как этот

//Over controller 
[CustomExceptionFilter] 
public class HomeController:Controller 
{ 
    //...... 
} 


//Over the Action 
[CustomExceptionFilter] 
public ActionResult Index() 
{ 
    //....... 
} 

Отметьте это log4net: log4net Tutorial

+0

Можете ли вы указать мне несколько примеров, пожалуйста, – LeBlues

+0

@LeBlues - проверьте обновления, это поможет вам –

+0

@LeBlues - это сработало для вас ...... –

Смежные вопросы