NotSupportedException sur le stream résultant d'un openReadAsync

Résolu
Hermios Messages postés 264 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 23 mai 2014 - 17 mai 2012 à 10:54
NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 - 17 mai 2012 à 17:41
Salut À tous,
Mon problème est simple, ca marche pas...
Plus sérieusement, voici mon code :
public void readSiteAsynchron()
{
int thisSeason = currentSeason;            
WebClient myWebClient = GeneralFunctions.getNewWebClient(urlKey);
myWebClient.OpenReadCompleted += newOpenReadCompletedEventHandler(openReadComplete);
                try
                {
myWebClient.OpenReadAsync(new Uri("toto" +endSite,UriKind.Relative));                    
                }
                catch 
                {                    
                    myWebClient.CancelAsync();                     
                    episodesLoaded = true;
                }

            }            

        }

        private void openReadComplete(object sender,OpenReadCompletedEventArgs e)
        {
            if ((e.Error null) && (e.Cancelled false))
            {
                StreamReader seasonStreamReader = new StreamReader((Stream)e.Result,Encoding.ASCII);                
                string readedHTMLLine=seasonStreamReader.ReadLine();
MessageBox.show(readedHTMLLine);
}


Si je regarde la variable e.Result, la longueur (notamment) affiche une exception de type "NotSupportedException"
Si je lance la même page avec OpenRead (mais sans event, bien sur, juste ouvrire et lire, puis créer un sream et afficher les lignes lues), ca marche.

JE vois vraiment pas où ca coince.

Merci de votre aide!

@+. Hermios

3 réponses

NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 158
17 mai 2012 à 14:38
Bonjour,

NotSupportedException, indique que la méthode (au sens fonction/procédure de l'objet) utilisée n'est pas supportée.

Dans ce cas, il faut se rabattre sur d'autres fonctions similaires présente.

Dans ton cas, la lecture asynchrone n'est pas supportée, il te faudra donc utiliser la lecture synchrone (éventuellement mise dans un thread si le composant le tolère).

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
Hermios Messages postés 264 Date d'inscription dimanche 14 avril 2013 Statut Membre Dernière intervention 23 mai 2014 2
17 mai 2012 à 16:58
Bonjour Henry
Merci de ta réponse.
Juste, qu'entends tu par "composant"?
S'agit il de la version de .net? ou autre? En fait, vu que c'Est un programme perso, je suis plutôt flexible, donc je pourrais mettre des trucs à jour si besoin est.

Merci beaucoup

@+. Hermios
0
NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 158
17 mai 2012 à 17:41
Bonjour,

Composant, contrôle, classe, ..., l’élément en cause en somme.
Donc, il faudra faire avec ce que tu as ou trouver mieux ailleurs, mais en l'état, je n'ai pas de solution toute faite à te proposer.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0