El ejemplo de XmlSerializerFaults muestra cómo comunicar información de error de un servicio a un cliente mediante XmlSerializer. El ejemplo se basa en la introducción, con algún código adicional agregado al servicio para convertir una excepción interna en un error. El cliente intenta realizar la división por cero para forzar una condición de error en el servicio.
Nota
El procedimiento de instalación y las instrucciones de compilación de este ejemplo se encuentran al final de este tema.
El contrato de la calculadora se ha modificado para incluir FaultContractAttribute como se muestra en el código muestra siguiente. Asimismo, XmlSerializerFormatAttribute se utiliza para habilitar la serialización mediante XmlSerializer. La propiedad SupportFaults se establece en true en este atributo, lo que indica al serializador que utilice XmlSerializer para leer y escribir los errores.
C#
[XmlSerializerFormat(SupportFaults=true)]
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
publicinterfaceICalculator
{
[OperationContract]
intAdd(int n1, int n2);
[OperationContract]
intSubtract(int n1, int n2);
[OperationContract]
intMultiply(int n1, int n2);
[OperationContract]
[FaultContract(typeof(MathFault))]
intDivide(int n1, int n2);
}
En este módulo se explora el uso de excepciones y el proceso de control de excepciones en aplicaciones de consola de C#. Las actividades prácticas proporcionan experiencia en la implementación de patrones de control de excepciones para varios escenarios de codificación.