desarrolloMobile.NET Noticias

lunes, abril 02, 2007

Excepciones en WCF I (FaultException)

Cuando planteas la creación de un sistema bajo Windows Communication Foundation, una capítulo entero, lo inviertes en la estrategia de manejo de excepciones. No resulta complejo entender que una excepción se transmite como una "avería" dentro de SOAP.

Durante la captación de información previa a tomar una decisión me encontré con enlaces interesantes, como este de, como no, Rodrigo Corral, o varios documentos explicativos muy útiles como éste o éste, pero sin embargo, desde un punto de vista muy elemental. Los ejemplos del SDK de Windows son, también, de ayuda aunque pasan, también, de escenarios elementales a escenarios muy complejos (o al menos eso me ha parecido a mí).

Una de las batallas más arduas en la que me he visto envuelto a sido una excepción, muy simpática, pero que me ha llevado de cabeza FaultException was unhandled by usercode. En una solución, he puesto todos los proyectos, desde la definición del servidor hasta la implementación del mismo desde el Cliente. Cuando se generaba una excepción en el servicio, ésta no era controlada por try...catch desde el cliente; bueno, a ver, si que lo hacía pero al segundo intento. Esto es, se produce un error en servidor, se para la ejecución, vuelvo a ejecutar con F5 y el cliente obtenía la excepción como era de esperar.

Por si os pasa alguna vez, me han ayudado mucho estos dos enlaces de los foros de MSDN. En concreto éste. (el otro es éste). Sinceramente no me acaba de convencer, pero es lo que hay, almenos por el momento hasta que alguien diga exactamente el por qué.

Ahora me toca probar la capacidad del Enterprise Library en el control de errores, ya os informo.

3 comentarios:

Anónimo dijo...

Señor Torres, ha hecho algún avance respecto al control de excepciones WCF ??

Saludos.

José Miguel Torres dijo...

Hola, sí he profundizado en base a las especificaciones del Enterprise Library 3.1. Puedes contactar conmigo por email e intercambiar opiniones al respecto. Cuando tenga tiempo sufieciente crearé una entrada al respecto, gracias.

Fernando dijo...

Jose Miguel ojala puedas ayudarme con esto. Tengo mi equipo con Windows Vista. Tengo instalado el Visual Studio Professional 2005. Yo trabajo con equipos con Windows Mobile 6.0. Cuando quiero instalar Windows Mobile 6.0 professional SDK me sale un error y no me deja instalar. Sin embargo la version estandar si la he podido instalar.

Fernando Rebaza frebaza@amesol.com

Saludos