Вопрос

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

У меня есть 2 основных договора операций, первый Создает цитату и второй Добавляет элемент к цитату (и рассчитывает итоги за сценой).

Первый принимает Информация для клиентов а также хранить информацию а также Возвращает цитату.

Второй принимает в Цитировать и ан объект элемента, рассчитывает итоги и Возвращает цитату с элементом.

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

Для Createquote, следует ли пропустить объект цитаты с помощью свойства клиента и набором свойств магазина или должен быть какой-то объект QoyeRequest, который содержит объект клиента и магазина, но без прохождения объекта цитата?

Для AddquoteiTem., должен ли пройти объект QUOTEITEM с требуемыми наборами свойств, включая объект цитаты или должен быть объект QUOTEITEMREQUEST, который имеет объект цитата и объектом элемента (без всякого отношения), а затем возвращается пересчитанная цитата с объектом QUOTEITEM?

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

Quote CreateQuote(Quote quote);

Quote AddQuoteItem(QuoteItem quoteItem);

Или они должны выглядеть что-то подобное?

Quote CreateQuote(QuoteRequest quoteRequest);

Quote AddQuoteItem(QuoteItemRequest quoteItemRequest);
Это было полезно?

Решение

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

В вашем сценарии пройдите тип клиента и введите тип хранения в метод Createquote и верните тип цитаты. Затем пропустите тип цитаты и снова верните либо тип цитаты, либо вместо этого указывают на успех BOOL к методу AddQuoteItem.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top