Jak uruchomić zadania równoległe na Windows Phone?

Buduję aplikację WP8 i muszę wykonać około 30 żądań internetowych. Żądania te nie zależą od siebie, więc mogą być równoległe.

Mój kod wygląda następująco (uproszczony / pseudokod):

foreach (Uri uri in uris)
{
    var rawData = await Task.Run(() => httpClient.GetStringAsync(uri).ConfigureAwait(false));

    var processedData = dataProcessor.Process(rawData);
    processedDataCollection.Add(processedData);
}

Kiedy patrzę na Skrzypka, wszystkie prośby są wykonywane sekwencyjnie; wykonanie i przetworzenie wszystkich zajmuje kilka sekund. Nie chcę jednak, aby kod czekał na zakończenie 1 żądania przed przejściem do następnego, chcę jednocześnie wykonać wiele żądań.

Normalnie używałbymParallel.Invoke() lubParallel.ForEach() lub coś takiego, ale najwyraźniej biblioteka równoległa nie jest dostępna w Windows Phone 8.

Więc jaki jest najlepszy sposób, aby to osiągnąć?Task.Factory.StartNew()? new Thread()?

questionAnswers(2)

yourAnswerToTheQuestion