Параллельные вызовы веб-служб ASP.NET - PullRequest
1 голос
/ 16 февраля 2010

У меня есть страница aspx, которая читает элементы из базы данных SQL и отображает их в GridView. Для каждого элемента, расположенного в БД, есть несколько связанных с ним метаданных, которые можно получить, сделав вызов веб-службы для каждого элемента в GridView. Я хочу сделать параллельные вызовы веб-службы (чтобы сэкономить время от последовательных вызовов) и заполнить эти метаданные в GridView. Есть идеи?

Спасибо, Димитрис

1 Ответ

0 голосов
/ 17 февраля 2010

Как уже упоминалось, у вас есть 2 варианта.Можно использовать ajax на стороне клиента для извлечения данных после загрузки страницы.Другим вариантом будет использование асинхронного httpwebrequest и выборка данных перед загрузкой страницы.

Если возможно, учитывая ваши требования безопасности, а также требования к функциональности, я думаю, что лучше использовать ajax.Это снизит нагрузку на ваши серверы.

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

В качестве альтернативы, если проблема безопасности (у вашего веб-сервиса есть учетные данные, которых нет у вас)хотите, чтобы об этом узнал весь мир), возможно, вы захотите прокси-сервер с вашего сервера, чтобы ваш сервер возвращал результаты из веб-службы, которую клиент запрашивает через ajax.

...