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 :

Utilisation de Webclient.DownloadData avec des uri en localhost


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur web
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut Utilisation de Webclient.DownloadData avec des uri en localhost
    Bonjour à tous,

    J'aurai besoin d'un petit coup de mains pour solutionner une erreur 500.
    Voilà...pour générer le contenu de la BD d'indexation de mon site web, j'exploite la méthode Webclient.DownloadData (pour « aspirer » le code html de la page).
    Lorsque je fournis un uri "classique" (la page d'un site lambda), pas de problème, je récupère le contenu html de la page.
    Par contre, lorsque j'appelle une page de mon projet Visual Studio (type http://localhost:53452/sujet/ma_page.aspx), j'ai une erreur (500) « Erreur interne du serveur ». C'est l'appel à la méthode DownloadData qui est marqué par VS.

    Pour info, j'utilise Visual Studio Express 2013 (dév. en VB.net) et le serveur associé. La fonction d'indexation est à l'intérieur du projet qui contient les pages à indexer.


    Jusqu'à présent, mes recherches ont suggéré 2 pistes :


    1. la désactivation de l'option "Activer Modifier et continuer (Edit And Continue)" dans Outils/Options/Débogage/Modifier & continuer de VSExpress 2013
    2. le format de uri passé en paramètre de la méthode DownloadData


    La 1ère piste n'a pas solutionné le problème.

    Pour la 2ème, pas mieux et l'url fonctionne quand on la renseigne directement le navigateur (testé sur 3 browsers).


    J'ai aussi pensé à l'autorisation (après tout, mon traitement pourrait être considéré comme suspect par le serveur). Ne faut-il pas redéfinir la propriété Webclient.Credentials ? J'ai essayé mais j'ai qques difficultés avec les valeurs des paramètres à renseigner.


    Merci d'avance pour les retours

  2. #2
    Membre averti
    Homme Profil pro
    Développeur web
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut
    Eh bé ! Je me croirais dans une chambre sourde.
    Mon problème reste entier.
    J'ai testé la propriété Credentials...pas de changement.
    J'ai testé sur un serveur de prod...même erreur {donc mon pb n'est pas lié à IIS express et pas non plus au contenu de l'uri (PM : localhost)}

    Question : Est-ce qu'il est possible de faire un DownloadData en interne ? (La page web qui appelle ma fct provoque un callback et simultanément, il y une requête, du même user, sur la page aspirée).

  3. #3
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Si tu n'as pas de réponse c'est tout simplement parce que personne ne peut t'aider On peut juste te dire que le problème vient du serveur sur lequel ma_page.aspx est hébergée. Ca tu dois déjà le savoir puisque erreur 500.

    Cette page doit attendre quelque chose qui n'arrive pas (par exemple données en POST, entêtes HTTP, authentication, cookie ou autre). Mais ca, seul toi peut le savoir puisque c'est ton site web.

    Sinon on peut utiliser les méthodes du WebClient que tu cites avec n'importe quelle URL du moment que tout est bien fourni à la page cible. A toi de jouer...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  4. #4
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    utilises-tu le "vrai" IIS (pas celui de dev lancé par VS qui peut changer de port) ?
    Est-il bien démarré ? Avec le bon port (celui que tu indiques dans ton URI et avec aucun autre prog en écoute dessus) ?

  5. #5
    Membre averti
    Homme Profil pro
    Développeur web
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut
    Problème solutionné...c’était mon code .


    Donc…voilà mon retour d’expérience afin que cette discussion soit constructive.


    La mise en œuvre de la méthode Webclient.DownloadData était correct.
    La raison de mes soucis, c’est le « localhost » (PM : j’aspire le contenu de mes pages .aspx en localhost)


    Comme j’avais très peu d’infos en consultant « la pile » du message d’erreur, je suis reparti de zéro dans le code : les actions dans le global.asax, puis la page maître et enfin la page de contenu. J’ai aussi affiché le nom de chaque page (dans une MsgBox) avant aspiration, afin de cerner le problème.


    Il y avait 3 loups : une fct de mémorisation des connexions, une page maître et des fichiers « exclus » de mon projet (fct "Exclure du projet" dans Visual).


    Le pb lié à la fct de connexion a été résolu avec un test sur l’url en localhost.
    Pour la page maître, je n’ai pas encore trouvé. J’ai exclu les pages de contenus associées en attendant (2 pages)
    Pour les fichiers exclus de mon projet, j’ai ajouté un test sachant que (en localhost) la liste des fichiers publiés (donc…non exclus) est contenue dans le fichier d’extension « .user » dans le répertoire ../MyProject/PublishProfiles

    Voilà !
    Merci encore pour votre écoute. On peut clôturer la discussion je pense.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Re-utilisation d'une table avec des alias
    Par slake13 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/10/2008, 17h56
  2. Réponses: 3
    Dernier message: 27/02/2008, 11h07
  3. Réponses: 1
    Dernier message: 11/05/2007, 19h36
  4. Réponses: 2
    Dernier message: 02/04/2007, 11h53
  5. utilisation d'un CopyFile avec des edits.??
    Par EssaiEncore dans le forum Langage
    Réponses: 2
    Dernier message: 25/11/2005, 16h32

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