Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O exemplo XmlSerializerFaults demonstra como comunicar informações de erro de um serviço para um cliente usando o XmlSerializer. O exemplo é baseado no Getting Started, com código adicional incluído ao serviço para converter uma exceção interna em uma falha. O cliente tenta executar a divisão por zero para forçar uma condição de erro no serviço.
Observação
O procedimento de instalação e as instruções de build para este exemplo estão localizados no final deste tópico.
O contrato da calculadora foi modificado para incluir um FaultContractAttribute conforme mostrado no código de exemplo a seguir. Além disso, o XmlSerializerFormatAttribute é usado para habilitar a serialização usando o XmlSerializer. A propriedade SupportFaults é definida para true nesse atributo, que instrui o serializador a usar o XmlSerializer para ler e gravar falhas.
[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);
}
Ao gerar código para o proxy do cliente, é preciso aplicar o flag /UseSerializerForFaults à ServiceModel Metadata Utility Tool (SMDT) (Svcutil.exe).
Para configurar, compilar e executar o exemplo
Verifique se você executou o Procedimento de instalação avulsa dos exemplos do Windows Communication Foundation.
Para compilar a edição .NET do C# ou do Visual Basic da solução, siga as instruções contidas em Como Compilar as Amostras do Windows Communication Foundation.
Para executar o exemplo em uma configuração única ou entre máquinas, siga as instruções em Executando os exemplos do Windows Communication Foundation.