J'essaie de télécharger progressivement un tableau de données sérialisées. L'objectif est d'envoyer un seul gros bloc du serveur et de le traiter partiellement sur le client pendant le téléchargement.Silverlight WebClient Progressive Télécharger
J'utilise la classe System.Net.WebClient et définissez sa propriété AllowReadStreamBuffering sur false. Selon la documentation MSDN, cela devrait me permettre d'accéder au flux entrant à partir de l'événement OpenReadCompleted.
Lorsque j'essaie d'accéder au flux, cependant, il déclenche une exception NotSupportedException. Il ne s'agit pas d'un problème de stratégie interdomaine et, si la propriété AllowReadStreamBuffering est définie sur true, elle charge et lit parfaitement le contenu. Est-ce que je manque quelque chose? Comment devrais-je effectuer des téléchargements progressifs à partir de Silverlight?
Le code minimal pour reproduire ce problème est le suivant:
private void BeginProgressiveDownload()
{
WebClient client = new WebClient();
client.AllowReadStreamBuffering = false;
client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
client.OpenReadAsync(new Uri("http://STREAMABLE RESOURCE HERE"));
}
void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
e.Result.ReadByte();
}