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

C# Discussion :

Exécution code C# dans une page ASP.NET


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2010
    Messages : 13
    Par défaut Exécution code C# dans une page ASP.NET
    Bonsoir à tous.
    Je m'adresse à vous car je n'ai pas trouver de solutions à mon problème et je suis à court de temps.
    En effet, j'implémente une approche que j'ai moi-même proposé dans mon projet de fin d'études. Je travaille sur la recherche d'information personnalisée sur Internet et l'approche que j'ai proposée ce base exclusivement sur les résultats de recherche retournés par Google.
    Dans mon application, j'analyse l'Html des résultats de Google à l'aide de la librairie "HtmlAgilityPack" afin de récupérer les Urls des pages web que Google a trouvé suite à la requête que je lui ai passé. Après récupération de toutes les Urls, je dois récupérer l'Html de chaque page.

    Le problème c'est que j'ai un grand nombre de pages à récupérer (entre 100 et 1000 pages) et faire ça en local c'est vraiment galère. J'ai testé ça en local en divisant la récupération des pages sur des threads, ça m'a pris 17 minutes et 11 secondes pour télécharger 400 pages et mon encadreur m'a dit que c'est inacceptable. Ce processus de recherche et de récupération peut se répéter autant de fois que le désire l'utilisateur, alors vous imaginez si l'utilisateur doit attendre 20 minutes à chaque recherche.

    Donc un ami m'a conseillé d'écrire un code C# pour récupérer l'Html des pages web qu'il me faut et de mettre ce code dans une page ASP.NET (vu que je travaille sous C#.NET) et mon application fera appel à cette page qui exécutera ce code et retournera une liste d'objets contenant les résultats à mon application. Ceci afin de profiter de la puissance des serveurs qui hébergent les pages ASP.NET et pallier au problème de temps d'exécution qui me fait défaut.

    Malheureusement, il n'y connait pas grand chose à l'ASP.NET et mes connaissances dans ce langage sont nulles.
    Je vous demande donc à vous, de m'aider sur ce problème, me donner une solution de page ASP.NET qui correspondrait à la suggestion de mon ami, car là il ne me reste vraiment plus de temps pour trouver une autre solution ou changer mon approche puisque mon application est presque terminée et le seul truc qui me fait défaut c'est la récupération des pages web dans un temps minime.

    N'importe quelle solution faisable qui me ferait gagner du temps est la bienvenue.

    Je vous remercie d'avance.

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Le mettre sur un serveur ou il y'a ASP.Net ne changera strictement rien du tout... Je vois d'ailleurs pas le rapport.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2010
    Messages : 13
    Par défaut
    Ben la vitesse d'exécution des serveurs d'hébergement est plus puissante que la vitesse d'exécution d'un simple PC.

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Bof... Pas tellement... Tout dépend des machines et avec la puissance des machines actuelles la différence n'est pas si marquée...
    Si jprend mon PC de bureau, j'ai un Core2 Quad Q9400 alors que mes deux serveurs dédiés sont un Intel Atom et un Core 2 Duo. Victoire mon pc de bureau!
    Et puis, qu'est ce qui te dis que c'est ton CPU qui est limitant? Un scooter 50cm^3, t'as beau le mettre sur une autoroute, c'est pas pour ca que t'iras à 130km/h
    Bref, c'est pas si simple que ca! En plus, même chose pour la parallèlisation, as tu identifié les goulots d'étranglement?

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2010
    Messages : 13
    Par défaut
    Bon je t'explique le principe de mon approche de parallélisation :
    J'ai 20 requêtes Google à exécuter, j'ai affecté chaque requête à un Thread qui est sensé récupérer 20 pages. Je les lance tous en même temps et je les laisse chacun récupérer les 20 pages. J'ai testé ça et j'ai obtenu 400 pages en 17 minutes et 11 secondes.

    Que veux-tu dire par les goulots d'étranglement???

  6. #6
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Je pense que lorsqu'il parle de goulots d'étranglements il veut dire=>Si tu n'as qu'un seul thread qui exécute le 20 requêtes qu'est-ce qui consomme le plus de temps ? Parce que si google prends 90% du temps pour répondre à ta requête alors le goulot d'étranglement se situe à ce niveau sinon si 90% du temps est consommé dans une classe à toi pour décoder la requête c'est encore autre chose.

    Cependant quelque chose me semble pas clair, est-ce que les 20 requêtes sont les mêmes pour tes 20 threads ? Car j'ai du mal à comprendre pourquoi envoyer 20 fois 20 requêtes identiques ou alors ce n'est pas des requêtes identiques et dans ce cas on peut se poser la question de quelles requêtes consomment le plus de temps (dans la mesure où le goulot d'étranglement est là)?

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/10/2007, 19h11
  2. intégration de code javascript dans une page asp.net
    Par Je-cherche-pfe dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 06/09/2007, 17h10
  3. implentation un code c# sous une page asp.net
    Par isselmoumg dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/05/2007, 08h28
  4. Réponses: 3
    Dernier message: 13/11/2006, 23h25
  5. Réponses: 1
    Dernier message: 04/04/2006, 11h29

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