Ho creato un middleware OWIN per rilevare le eccezioni. Il middleware non fa nulla davvero, ma avvolgere la chiamata successiva con try catch Ti piace questaSostituire IExceptionHandler in Web Api 2.2 con gestore di OWIN middleware
try {
await _next(environment)
}
catch(Exception exception){
// handle exception
}
Il problema è che il middlware non è catturare l'eccezione, perché l'eccezione è stata gestita dal implementazione predefinita di IExceptionHandler che restituisce un XML con la traccia dello stack.
ho capito che posso sostituire l'implementazione predefinita IExceptionHandler con il mio, ma quello che voglio è per OWIN middleware di prendere il controllo e questo gestore di eccezioni predefinito per essere ignorato o sostituito con il middleware OWIN
Aggiornamento:
Ho indicato la risposta di seguito come risposta, anche se è più di un trucco, ma credo davvero che non ci sia modo di ottenerlo senza un trucco perché le eccezioni di WebApi non verranno mai catturate dal middleware OWIN perché l'API Web gestisce il suo proprie eccezioni laddove il middleware OWIN gestisce eccezioni che vengono sollevate in middleware e non gestito/catturato da questi middleware
Cercare di farlo tutto il giorno ha calcolato che questo deve essere il caso, come si è detto nell'aggiornamento, ma la risposta sembra che non sia nemmeno molto hacky sulla rete. –