Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przykład XmlSerializerFaults pokazuje, jak przekazać informacje o błędzie z usługi do klienta przy użyciu polecenia XmlSerializer. Przykład jest oparty na Getting Started, z dodanym do usługi dodatkowym kodem w celu przekonwertowania wyjątku wewnętrznego na błąd. Klient próbuje wykonać dzielenie przez zero, aby spowodować błąd w usłudze.
Uwaga / Notatka
Procedura instalacji i instrukcje kompilacji dla tego przykładu znajdują się na końcu tego tematu.
Kontrakt kalkulatora został zmodyfikowany tak, aby zawierał element FaultContractAttribute , jak pokazano w poniższym przykładowym kodzie. Ponadto XmlSerializerFormatAttribute jest używane do włączania serializacji za pomocą XmlSerializer. Właściwość jest ustawiona na SupportFaults dla tego atrybutu, co instruuje serializator, aby użył true do odczytywania i zapisywania błędów.
[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);
}
Podczas generowania kodu dla klienta proxy należy zastosować flagę /UseSerializerForFaults do Narzędzia ServiceModel Metadata Utility (Svcutil.exe).
Aby skonfigurować, skompilować i uruchomić przykładowy program
Upewnij się, że wykonano procedurę instalacji One-Time dla przykładów programu Windows Communication Foundation.
Aby skompilować wersję rozwiązania w języku C# lub Visual Basic .NET, postępuj zgodnie z instrukcjami w Kompilowanie przykładów Windows Communication Foundation.
Aby uruchomić przykład w konfiguracji pojedynczej lub między maszynami, postępuj zgodnie z instrukcjami w Uruchamianie przykładów programu Windows Communication Foundation.