Como executar tarefas paralelas no Windows Phone?

Estou construindo um aplicativo WP8 e preciso executar cerca de 30 solicitações da web. Essas solicitações não dependem umas das outras para que possam ser paralelizadas.

Meu código se parece com isso (simplificado / pseudocódigo):

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

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

Quando olho para o Fiddler, as solicitações são todas realizadas sequencialmente; leva alguns segundos para executar e processar todos eles. No entanto, não quero que o código aguarde até que 1 solicitação seja concluída antes de passar para a próxima. Quero executar várias solicitações ao mesmo tempo.

Normalmente eu usariaParallel.Invoke() ouParallel.ForEach() ou algo assim para fazer isso, mas aparentemente a biblioteca paralela não está disponível no Windows Phone 8.

Então, qual é a melhor maneira de conseguir isso?Task.Factory.StartNew()? new Thread()?

questionAnswers(2)

yourAnswerToTheQuestion