Manuseio e registro erros no ASP.NET 5 envolve alguns elementos.
Para lidar com o erro em um cenário de produção e mostrar uma página de erro, o app.UseExceptionHandler()método é o caminho a percorrer. O repo Diagnostics na org ASP.NET GitHub inclui uma amostra que mostra esta. Para cenários em tempo de desenvolvimento em que você quer ver um rastreamento de pilha completo e outras informações de diagnóstico, use app.UseDeveloperExceptionPage()como visto em esta amostra .
Se o aplicativo estiver usando MVC 6, então há uma maneira específica de MVC de tratamento de erros, tanto quanto havia em versões anteriores do MVC. Em MVC 6 um filtro (ou o próprio controlador, o qual também é um filtro) pode manipular / substituir o OnActionExecutedmétodo e inspeccionar o ActionExecutedContextparâmetro para tentar manipular o erro.
Quando se trata de exploração madeireira, há uma nova infra-estrutura de registro em ASP.NET 5, que relata uma grande quantidade de informações a qualquer registrada ILogger. Os modelos de projeto padrão no Visual Studio 2015 registar alguns madeireiros que os erros (e outros dados) para o console ea janela de saída de depuração do VS log. No entanto, quando executado no IIS ou o IIS Express não há nenhuma janela de console (ainda!). Mas se você executar a partir da linha de comando (usando dnx web), então você vai ver o erro. Ou, é claro, você pode registrar um registrador diferente que grava em um arquivo de log ou banco de dados e ver os logs lá.
Para registrar um personalizado ILoggerem um aplicativo web:
- Escrever um logger que implementa a
ILoggerinterface. Veja as implementações DNX para como fazer isso.
- Adicionar um parâmetro do tipo
ILoggerFactorya do seu aplicativo Startupde classe Configuremétodo.
- Na
Configurechamada de método loggerFactory.AddProvider(<some provider>)e passar uma instância de sua logger.