2010-02-16 1 views
1

У меня есть страница aspx, которая читает элементы из SQL DB и отображает их в GridView. Для каждого элемента, находящегося в БД, есть несколько связанных с ним метаданных, которые можно получить, сделав вызов веб-службы для каждого элемента в GridView. Что я хочу сделать, это сделать одновременные вызовы веб-службы (чтобы сэкономить время от последовательных вызовов) и заполнить эти метаданные в GridView. Любые идеи?Вызов параллельной веб-службы ASP.NET

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

+1

Вы пытаетесь сделать это перед отправкой данных клиенту? Или вы захотите сделать это на стороне клиента с помощью Ajax? – Khanzor

ответ

0

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

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

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

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

+0

Привет, Я думаю, что это мой случай, было бы лучше сделать асинхронные вызовы на стороне сервера. Поскольку я не знаю точное количество вызовов, вы могли бы предоставить образец того, как вызывать n раз асинхронно строку WebMethodX (strin sInputXML)? Спасибо, Dimitris. –

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

  • Нет связанных вопросов^_^