Архитектура ошибок WCF - PullRequest
3 голосов
/ 22 июля 2010

Я смотрю на реализацию API веб-сервиса для нашего продукта.Я выяснил, как вы относитесь к общей архитектуре / обработке ошибок в WCF.Мой вопрос более общий, как спроектировать общую систему обработки ошибок.Например, у меня есть метод с именем SaveCompany (companyobject).Каждое название компании должно быть уникальным.Скажем, вы пытались спасти вторую компанию под названием «ABC Inc.».Ожидаете ли вы вернуть ошибку с именем «DuplicateCompanyFault», или вы ожидаете получить код ошибки или что-то еще?Я думаю, корень моего вопроса в том, предпочли бы вы получать ошибки для обработки, код ошибки или какую-то комбинацию?Эти сервисы будут использоваться несколькими различными организациями за пределами нашей компании на нескольких платформах, отличных от .NET.Любое руководство здесь было бы замечательно.

Ответы [ 2 ]

0 голосов
/ 23 июля 2010

Мой колледж и я обсуждали эту концепцию совсем недавно. Здесь - это руководство MSDN, которое может ответить на ваш вопрос.

0 голосов
/ 22 июля 2010

С точки зрения интегратора, я бы предпочел 1 тип ошибки, которая представляет ошибку на вашем уровне API, а внутри этой ошибки - кодификацию причины ошибки и текстовое описание для предоставления дополнительной информации.В противном случае логика обработки ошибок становится чрезмерно сложной.

В вашем примере, скажем, код ошибки равен 100 (который соответствует ошибке Duplicate Company в элегантной документации API yall), а описание в сообщении - "Couldне добавлять компанию ABC Inc, поскольку она уже существует ".

...