Silverlight: открывать и вызывать веб-сервис динамически - PullRequest
0 голосов
/ 09 ноября 2010

У меня есть приложение Silverlight, и мне нужно было бы иметь возможность получать данные практически из любого веб-сервиса.Я хотел бы предоставить пользователю возможность указать URL-адрес веб-службы во время выполнения, тогда мое приложение обнаружит службу и предложит некоторый пользовательский интерфейс для выбора веб-метода и заполнения необходимых параметров.Затем пользователь может вызвать веб-сервис, и приложение отобразит данные в пользовательском интерфейсе.

Как мне этого добиться?

1 Ответ

1 голос
/ 09 ноября 2010

Полагаю, вы имеете в виду веб-сервис SOAP? В .NET есть много компонентов, которые вы обычно хотели бы использовать для этого (например, функция загрузки метаданных WCF и создания клиентских прокси на основе CodeDOM, а также различные классы для работы со схемами WSDL и XSD). К сожалению, их нет в Silverlight. Итак, я могу придумать два подхода:

1) Внедрить SOAP-клиент общего назначения в Silverlight (т. Е. Вручную реализовать загрузку метаданных, синтаксический анализ WSDL, синтаксический анализ XSD и т. Д.) - это будет очень сложно, если вы не найдете для этого существующего кода, который можно адаптировать Silverlight (и даже тогда это, вероятно, все еще очень сложно)

2) Сделайте это через сервер. Сервер выполнит все сложные задачи, а Silverlight просто отобразит пользовательский интерфейс. Все еще не легкая задача, но возможная; Вы можете начать с обратного инжиниринга работы клиентского приложения WCF Test с помощью Reflector и перейти оттуда.

...