Tengo una aplicación C# WebService en la que deseo capturar todas las excepciones no controladas lanzadas desde la aplicación.Capture todas las excepciones no controladas automáticamente con WebService
¿Cómo puedo hacer esto?
Tengo una aplicación C# WebService en la que deseo capturar todas las excepciones no controladas lanzadas desde la aplicación.Capture todas las excepciones no controladas automáticamente con WebService
¿Cómo puedo hacer esto?
Por alguna razón, el evento Application_Error no se activa para los servicios web (consulte other question). El Sr. Jeff Atwood mismo ha publicado algunos consejos on the coding horror blog.
Él escribe:
* Ponga una try..catch alrededor de cada método de servicio Web. Estos métodos tienden a ser envoltorios alrededor de otras clases, por lo que no es tan malo como suena, pero todavía no es bueno.
* utiliza un patrón de diseño de fachada para derivar todos los objetos de objetos primarios que ... básicamente hacen una try..catch en el método .Execute. Uh, gracias pero no, gracias.
* Escriba una extensión SOAP personalizada o HttpModule. Esto suena razonable pero ... difícil. Si es una extensión tan genial e importante o HttpModule, ¿alguien ya lo habría escrito?
Una forma es suscribirse al evento AppDomain.UnhandledException
en algún lugar del controlador App_Start
.