2010-08-19 2 views
0

Интересно, кто-нибудь испытал с возвратом большой набор данных из webservice. Набор данных составляет около 10 000 x 60 поплавков.Вывод большого набора данных из веб-сервиса

Я буду использовать http wcf для своего веб-сервиса. Любые идеи подходить к нему приветствуются :)

Спасибо.

+1

600 000 поплавков => 2,400,000 байт => 2,289 МБ. Похоже, у нас разные определения «большие». (Для этого должны быть некоторые серьезные накладные расходы на метаданные, чтобы слишком выходить из-под контроля). –

+0

Значит, вы говорите, что он не слишком велик, как я считаю? и клиент и сервер будут знать, как справиться с этим легко? – UshaP

+0

Я бы сказал, это зависит от соединений. Сделайте математику в соединениях, которые вы планируете поддерживать, и посмотрите, являются ли эти значения кошерными (это займет около 5 минут на модеме 56K, но только секунды на худших высокоскоростных соединениях). –

ответ

1

Нет технической причины, по которой вы не можете этого сделать.

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

Если вы действительно беспокоитесь о количестве данных, проходящих через провод, вы можете использовать библиотеку, такую ​​как буферы протокола Google, для выполнения двоичной сериализации (а не XML или JSON, которые вы получаете из коробки с WCF) , Вы можете найти порт .NET-протокола Буферы по адресу:

protobuf-net - Project Hosting on Google Code

+0

Thanks Justin, Из вашего опыта вы бы сказали, что это большой объект, или это то, что люди делают все время? – UshaP

+0

Я бы не стал беспокоиться о размере, пока вы его не попробуете, и посмотрите, есть ли проблема. –

1

Это не большой набор данных. Вы можете использовать веб-службу для возврата такого набора данных без каких-либо проблем с реализацией. Вам просто нужно установить maxReceivedMessageSize и maxArrayLength на клиенте.

Реальный набор вопросов, которые вы должны задать:

  • Сколько одновременных клиенты могут воспользоваться этой услугой?
  • Ожидаемое время отклика?
  • Как часто клиент вызывает эту услугу?
  • Какая пропускная способность доступна на производственном сервере?
  • Какая пропускная способность доступна для клиентов?

Ответы на эти вопросы покажут вам, если 2,3 МБ - большой набор данных. Если вы боитесь производительности и времени отклика, вы должны обязательно планировать тесты нагрузки.

+0

+1 Хорошая разбивка того, что нужно искать при калибровке трансмиссий –

Смежные вопросы