2009-08-27 16 views
5

Tengo un servicio wcf. El servicio en sí (clase que hereda el ServiceContract) tiene un constructor que a veces arroja excepciones. Quiero presentarle un mensaje al usuario si el servicio falla. ¿Debo usar las fallas como lo haría para un método de servicio?¿Deberían los constructores de Servicios WCF usar fallas para el manejo de errores?

+2

¿Por qué su servicio WCF tiene un constructor que puede fallar? Y, sinceramente, ¿por qué tiene un constructor? WCF puede crear y destruir instancias de servicio a voluntad ... tu solo está pidiendo problemas usando un constructor, particularmente si puede lanzar excepciones. – jrista

Respuesta

2

En general, un error se destina a proporcionar información de error a través de los límites del servicio, y en la mayoría de los casos, se envía un error como respuesta a un mensaje de solicitud incorrecto o incorrecto. Dado eso, diría que una falla no tiene sentido aquí.

Estoy de acuerdo con el comentador anterior de que un constructor de una clase de servicio debe evitar arrojar excepciones. Si su servicio es extenso, puede considerar un diseño en el que realice este tipo de inicialización como resultado de una operación de servicio específica. Esto se puede hacer en WCF marcando dicha operación de servicio con "IsInitiating = true" en el atributo [OperationContract]. En ese punto, usted sería capaz de generar un error y tener alguna esperanza de que llegue al cliente previsto.

Cuestiones relacionadas