Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В примере XmlSerializerFaults показано, как передавать сведения об ошибках из службы клиенту с помощью XmlSerializer. Пример основан на Руководстве для начинающих, с добавлением дополнительного кода в службу для преобразования внутреннего исключения в сбой. Клиент пытается выполнить деление на ноль, чтобы вызвать ошибку в службе.
Замечание
Процедура установки и инструкции по сборке для этого примера находятся в конце этого раздела.
Контракт калькулятора был изменен, чтобы включить FaultContractAttribute, как показано в следующем примере кода. Кроме того, XmlSerializerFormatAttribute используется для активации сериализации с помощью XmlSerializer. Для этого атрибута свойство SupportFaults установлено на true, что предписывает сериализатору использовать XmlSerializer для чтения и записи ошибок.
[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);
}
При создании кода для прокси-сервера клиента необходимо применить флаг /UseSerializerForFaults к средству служебной программы метаданных ServiceModel (Svcutil.exe).
Настройка, сборка и запуск примера
Убедитесь, что вы выполнили процедуру настройки One-Time для образцов Windows Communication Foundation.
Чтобы создать версию решения на C# или Visual Basic .NET, следуйте инструкциям по сборке примеров Windows Communication Foundation .
Чтобы запустить пример в конфигурации с одним или несколькими компьютерами, следуйте инструкциям в запуска примеров Windows Communication Foundation.