Как правильно вызвать компонент платформы Async - дождитесь ответа и затем верните значение. AKA содержит весь запрос / ответ в одном методе.
Пример кода:
public class Experiment
{
public Experiment()
{
}
public string GetSomeString()
{
WebClient wc = new WebClient();
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
Uri u = new Uri("http://news.google.com/news?pz=1&cf=all&ned=us&hl=en&topic=t&output=rss");
wc.DownloadStringAsync(u);
return "the news RSS from Google";
}
private void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
//don't really see how this callback method makes it able
// to return the answer I'm looking for on the return
// statement in the method above.
}
}
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ :
Причина, по которой я спрашиваю об этом, заключается в том, что у меня есть проект, над которым я хочу, чтобы код JavaScript в браузере использовал Silverlight, например, Facade / Proxy to Web-сервисы, и сложные вычисления и операции. Я хотел бы сделать синхронные вызовы [ScriptableMembers] в Silvelight. Я не хочу, чтобы Silverlight вызывал JavaScript в браузере