Разработка контрактов WCF (операция / данные)

Я в настоящее время надеюсь разрабатывать некоторые сервисы WCF и хотел получить мнение сообщества о лучшем способе обработать операцию / контракты данных.

У меня есть 2 основных контракта на операцию, первое создает кавычку, и второе добавляет объект к кавычке (и вычисляет общие количества позади сцены).

Первые взятия в информации о клиенте и хранят информацию, и возвращает кавычку.

Вторые взятия в кавычке и объекте объекта, вычисляет общие количества и возвращает кавычку с объектом.

Мой вопрос о том, как разработать контракты данных в этом сценарии?

Для CreateQuote кавычка должна возразить быть переданной в с клиентским свойством и набором свойств хранилища или должна там быть некоторым объектом QuoteRequest, который содержит клиента, и храните объект, но без кавычки объект передал в?

Для AddQuoteItem QuoteItem должен возразить быть переданным в с необходимым набором свойств включая объект Кавычки или должен там быть объектом QuoteItemRequest, который имеет объект Кавычки и объект объекта (без отношения), и затем перерасчетная Кавычка с объектом QuoteItem возвращается?

Другими словами, они должны выглядеть примерно так?

Quote CreateQuote(Quote quote);

Quote AddQuoteItem(QuoteItem quoteItem);

Или они должны выглядеть примерно так?

Quote CreateQuote(QuoteRequest quoteRequest);

Quote AddQuoteItem(QuoteItemRequest quoteItemRequest);
1
задан Ken Burkhardt 25 June 2010 в 14:56
поделиться

1 ответ

Я бы сказал, что обертывание их в обертки запроса/ответа может оказаться немного излишним. Всегда можно предположить, что параметры методов WCF-службы - это "запрос", а возвращаемый тип - это "ответ".

В вашем сценарии передайте в метод CreateQuote тип Customer и тип Store и верните тип Quote. Затем в метод AddQuoteItem передайте тип Quote и верните либо снова ваш тип Quote, либо bool, указывающий на успех.

Опять же, в вашем сценарии классы запросов/ответов будут просто одноуровневыми обертками вокруг одного типа. Я могу только представить себе сценарий, в котором вы возвращаете класс, подобный классу response, чтобы обернуть несколько различных типов в единственное возвращаемое значение метода.

2
ответ дан 2 September 2019 в 23:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: