По моему мнению, лучше всего использовать веб-службы для доставки всего, что необходимо для вашего приложения Silverlight. Я предлагаю вам использовать класс WebClient в сочетании с классом URI для получения данных. Пример:
Uri uri = new Uri(//the url of you webservice, UriKind.RelativeOrAbsolute);
Теперь создайте экземпляр класса WebClient и добавьте обратный вызов, который будет вызываться после завершения чтения из веб-службы:
WebClient wc = new WebClient();
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(CallbackMethod);
wc.OpenReadAsync(uri);
Когда данные извлекаются с сервера, вызывается CallbackMethod. У метода есть объект EventArgs, который содержит свойство с именем result. Вы можете получить свои данные, используя это свойство.