Nell'esempio di XmlSerializerFaults, viene illustrato come comunicare informazioni sugli errori da un servizio a un client usando XmlSerializer. L'esempio è basato su Introduzione, con altro codice aggiunto al servizio per convertire un'eccezione interna in un errore. Il client tenta di eseguire una divisione per zero per imporre una condizione di errore al servizio.
Nota
La procedura di installazione e le istruzioni di compilazione per questo esempio si trovano alla fine di questo argomento.
Il contratto della calcolatrice è stato modificato per includere un FaultContractAttribute, come illustrato nell'esempio di codice seguente. XmlSerializerFormatAttribute viene inoltre usato per abilitare la serializzazione usando XmlSerializer. La proprietà SupportFaults è impostata su true su questo attributo, che indica al serializzatore di usare XmlSerializer per la lettura e la scrittura degli errori.
[XmlSerializerFormat(SupportFaults=true)]
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
public interface ICalculator
{
[OperationContract]
int Add(int n1, int n2);
[OperationContract]
int Subtract(int n1, int n2);
[OperationContract]
int Multiply(int n1, int n2);
[OperationContract]
[FaultContract(typeof(MathFault))]
int Divide(int n1, int n2);
}
Questo modulo illustra l'uso delle eccezioni e il processo di gestione delle eccezioni in applicazioni console C#. Le attività pratiche consentono di acquisire esperienza nell'implementazione di modelli di gestione delle eccezioni per vari scenari di codifica.