IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Récupération de flux RSS et délai


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Récupération de flux RSS et délai
    Bonjour

    J'ai une page d'accueil qui est construite à base de widget. Dans un de ces widgets j'ai un affichage de flux RSS, 2 actualités par flux.
    Comment passer un flux si le délai de récupération est trop important ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut
    Citation Envoyé par Plantadonf Voir le message
    Comment passer un flux si le délai de récupération est trop important ?
    Tu peux préciser?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Merci pour votre intérêt.

    J'ai un paramétrage dans un widget qui me permet d'ajouter ou supprimer des flux (par l'adresse). Au chargement de la page d'accueil, sont affichées les 2 actualités de chaque flux paramétrés.
    Lorsqu'un flux met du temps à répondre, ça "bloque" le chargement du widget.
    J'aimerai qu'au bout d'un certain temps sur une tentative de récupération de flux, il passe au suivant si pas de réponse.
    Le code de récupération de flux est classique.

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Tu peux paralléliser les appels pour éviter que la page reste bloquée.

    Peux-tu nous montrer comment tu fais?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Voici le code d'affichage des différents flux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    For a = 1 To UBound(aRSSR, 2)
                ' Lecture des flux régionaux
                itemCount = 0
     
                Try
                    rssFeed = WebRequest.Create(aRSSR(1, a))
     
                    rssReader = New XmlTextReader(rssFeed.GetResponse().GetResponseStream())
                    rssReader.ReadStartElement()
     
                    While rssReader.Read()
                        itemReader = rssReader.ReadSubtree()
     
                        While itemReader.Read()
                            If itemReader.IsStartElement() Then
                                If "title" = itemReader.LocalName Then
                                    title = itemReader.ReadString()
     
                                    If itemCount > 1 Then
                                        ReDim Preserve aRSS(4, UBound(aRSS, 2) + 1)
                                        aRSS(0, UBound(aRSS, 2)) = aRSSR(2, a)  ' Titre du flux
                                        aRSS(1, UBound(aRSS, 2)) = title        ' Titre de la news
                                    End If
     
                                ElseIf "link" = itemReader.LocalName Then
                                    link = itemReader.ReadString()
     
                                    If itemCount > 1 Then
                                        aRSS(2, UBound(aRSS, 2)) = link         ' Lien de la news
                                    End If
     
                                ElseIf "pubDate" = itemReader.LocalName Or "dc:date" = itemReader.LocalName Then
                                    pubdate = itemReader.ReadString()
                                    pubdate = CDate(Left(pubdate, 25)).ToString
                                    pubdate = Mid(pubdate, 7, 4) & "" & Mid(pubdate, 4, 2) & "" & Left(pubdate, 2) & "" & Hour(pubdate) * 60 + Minute(pubdate)
     
                                    If itemCount > 1 Then
                                        aRSS(3, UBound(aRSS, 2)) = pubdate      ' Date de la news
                                    End If
     
                                    itemCount = itemCount + 1
                                End If
                            End If
     
                            If itemCount >= 4 Then
                                Exit While
                            End If
                        End While
     
                        If itemCount >= 4 Then
                            Exit While
                        End If
                    End While
     
                Catch exp As Exception
     
                Finally
                    If itemReader IsNot Nothing Then
                        itemReader.Close()
                    End If
     
                End Try
            Next
    Dans aRSSR sont stockées toutes les adresses des flux récupérées en base.
    Le widget "Flux rss" est affiché dans la page d'accueil et son contenu appelé en ajax.

    La page n'est pas bloquée, seulement le chargement du contenu du widget qui attend que tous les flux soient chargés.

  6. #6
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par Plantadonf Voir le message
    seulement le chargement du contenu du widget qui attend que tous les flux soient chargés.
    Normal puisque cela se passe côté serveur.
    S'agissant de widget je te suggère de faire le traitement côté client avec jQuery. Pour chaque url tu fais un appel asynchrone.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Récupération de flux RSS
    Par lallier dans le forum Android
    Réponses: 6
    Dernier message: 20/08/2012, 17h22
  2. Réponses: 9
    Dernier message: 05/12/2011, 11h11
  3. Réponses: 5
    Dernier message: 02/01/2011, 18h55
  4. Récupération info flux rss
    Par Kerweb dans le forum Langage
    Réponses: 6
    Dernier message: 24/09/2008, 15h22
  5. [RegEx] Récupération infos flux rss / atom via ereg()
    Par Fab le Fou dans le forum Langage
    Réponses: 3
    Dernier message: 28/03/2006, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo