Вызов службы WCF для нескольких строк. Как это архитектура? - PullRequest
0 голосов
/ 02 декабря 2009

Допустим, у меня есть сценарий, в котором у меня есть Служба, которая отвечает за получение цены одного продукта с учетом идентификатора, и другая Служба, которая дает мне текущую позицию на складе.

Ничего страшного, когда я смотрю только на один товар, но как насчет страницы со списком, где у меня 60 товаров? Что мне делать в этом случае? Назовите сервисный продукт по продукту, чтобы узнать его текущую цену и позицию на складе?

Я думаю, что это будет очень медленно и потребует много ресурсов. Но что я могу сделать, чтобы он выглядел хорошо и в то же время имел производительность?

В настоящее время у нас есть эта информация в базе данных в столбце рядом с продуктом. Эти столбцы цен и акций обновляются службой sql, которая обновляет их, когда это необходимо, поэтому, когда мне нужно получить значение для множества продуктов одновременно, мне просто нужно выбрать еще два столбца. Это действительно быстро, но сейчас у нас есть еще несколько систем, нуждающихся в этой информации, и я хотел бы преобразовать все эти вещи в сервис.

Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 02 декабря 2009

Ну, у вас всегда может быть несколько методов обслуживания:

  • тот, который у вас уже есть, чтобы получить один продукт, и цена на один продукт
  • создайте новый метод обслуживания, который будет принимать список идентификаторов продукта и возвращать список объектов продукта, или новый DTO (объект передачи данных), который содержит продукт и цену

Таким образом, вы можете порадовать своих текущих пользователей, а также сделать что-то, чтобы сделать пакетные запросы более эффективными.

0 голосов
/ 03 декабря 2009

Может ли ваш сервисный метод взять массив идентификаторов? И вернуть массив значений? Таким образом, если вы хотите одну запись, ваш массив содержит только 1 элемент, если вы хотите больше, вы просто заполняете массив несколькими значениями?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...