Ответ 1
Ошибки обработки и регистрации в ASP.NET 5 включают несколько элементов.
Чтобы обработать ошибку в производственном сценарии и показать страницу с ошибкой, способ app.UseExceptionHandler()
- это путь. Репо диагностика на ASP.NET GitHub org включает sample, который показывает это. В сценариях времени разработки, где вы хотите увидеть полную трассировку стека и другую диагностическую информацию, используйте app.UseDeveloperExceptionPage()
, как показано в этом примере.
Если приложение использует MVC 6, тогда существует способ MVC для обработки ошибок, как и в более ранних версиях MVC. В MVC 6 фильтр (или сам контроллер, который также является фильтром) может обрабатывать/переопределять метод OnActionExecuted
и проверять параметр ActionExecutedContext
, чтобы попытаться обработать ошибку.
Когда дело доходит до регистрации, в ASP.NET 5 создается новая инфраструктура ведения журналов, которая сообщает большую информацию любому зарегистрированному ILogger
. Шаблоны проектов по умолчанию в Visual Studio 2015 регистрируют некоторые регистраторы, которые регистрируют ошибки (и другие данные) в консоли и окно вывода отладки VS. Однако при работе в IIS или IIS Express нет консольного окна (пока!). Но если вы запустите из командной строки (используя dnx web
), вы увидите ошибку. Или, конечно, вы можете зарегистрировать другой регистратор, который записывает в файл журнала или базу данных и видит там журналы.
Чтобы зарегистрировать пользовательский ILogger
в веб-приложении:
- Напишите регистратор, который реализует интерфейс
ILogger
. См. DNX-реализации для того, как это сделать. - Добавьте параметр типа
ILoggerFactory
к вашему приложениюStartup
classConfigure
. - В
Configure
методConfigure
вызываетсяloggerFactory.AddProvider(<some provider>)
и передается в экземпляр вашего регистратора.