Вопрос о разработке базового контракта WCF

#.net #asp.net #wcf

#.net #asp.net #wcf

Вопрос:

Я новичок в WCF и создаю свой первый (базовый) сервис, который заключается в создании / обновлении пользователя. Мне интересно, по какому пути идти при разработке моих контрактов. вот мои два варианта:

 void Create(User user);
// or
CreateResponse Create(CreateRequest request);
  

Теперь, если я пойду вторым путем, буду ли я по-прежнему использовать ошибки или я добавлю какие-либо исключения в объект ответа?

Любые идеи были бы замечательными!

Ответ №1:

Это вопрос выбора.

Если вы используете ошибки, помните, что всякий раз, когда возникает ошибка, ваш прокси на стороне клиента будет находиться в неисправном состоянии — т. Е. вам всегда придется создавать новый и утилизировать его, как только он вам больше не понадобится.

В случае, если вы не используете ошибки, вы должны убедиться, что всегда обрабатываете результат проверки, сохраненный в объектах ответа.

Подход с результатами проверки имеет дополнительные преимущества, заключающиеся в том, что вы можете хранить в нем несколько результатов проверки (или несколько исключений / сообщений об ошибках) и что он остается полностью независимым от .NET.