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 :

[2.0] Optimisation chargement UserControl


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 8
    Points
    8
    Par défaut [2.0] Optimisation chargement UserControl
    Bonjour,

    Je développe une Application ASP.NET [2.0] en C#.
    Je génére dynamiquement de nombreux userControls (sur la screen shot il s'agit des jours d'un calendrier (en vert...)).

    Pour afficher tous les jours du calendrier ca met 15 secondes
    J'ai pensé à mettre les UC en cache mais ils sont susceptible de changer souvent (si l'utilisateur click sur un UC le formulaire à gauche s'affiche pour modification).

    Comment augmenter les perfs de l'appli ?

    Bonne journée, et merci d'avance

    jérome

    Screenshot :

  2. #2
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Faudrait voir du code plutot que des screen shots. Le code de ta page et celui de ton UserControl.

    Sinon moi je dirais : AJAX

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Ha oui un peu de code :p


    Extrait du code de la fonction qui crée et affiche le calendrier :

    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
     
    //for each days ...
    for (int i = 0; i < nbDays; i++)
            {
                //Création du UC PanelJournee
                ucPanelJournee pj;
                pj = ((ucPanelJournee)this.LoadControl("./ucPanelJournee.ascx"));
                string strId = "ucPanelJournee_" + i.ToString();
                pj.ID = strId;
                pj.EnableViewState = true;
     
                //Abonnement aux evenements
                pj.Attributes.Add("runat", "server");
                pj.click += new ucPanelJournee.monClickEvent(this.craDaySelected);
     
     
                //Mapping NHibernate : récupe des infos en BDD
                MappingResources.JourneeActivite currentJourneeActivite;
                ArrayList journeesActivites = journeeActiviteManager.findByEmployeAndByDate(this.userId, currentDate);
     
                //
                pj.JourneesActivites = journeesActivites;
     
     
                //Mise en page de l'UC créé
                if (iCell >= nbMaxCell)
                {
                    tr = new TableRow();
                    htmlTable.Rows.Add(tr);
                    iRow++;
                    iCell = 0;
                }
                tc = new TableCell();
                tc.ID = "tc" + i.ToString();
                htmlTable.Rows[iRow].Cells.Add(tc);
                tc.Controls.Add(pj);
                htmlTable.Rows[iRow].Cells.Add(tc);
                iCell++;
            }

  4. #4
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Es-tu obligé de recréer un oblet PJ à chaque fois dans la boucle ? Ne peux-tu pas réutiliser le même ?

  5. #5
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Ignore mon dernier message, c'est débile ce que je dis, tu peux pas réutiliser le même.

  6. #6
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Tu fais une requète par case de ton calendrier ?
    Cherches pas pourquoi c'est lent

    Suggestion : fait un petit essai, mais en hardcodant le contenu de journeesActivites (sans faire de requète quoi).
    Je pense que tu peux gagner dans les 14 secondes

Discussions similaires

  1. Optimisation chargement ssrs
    Par ccmoi dans le forum SSRS
    Réponses: 0
    Dernier message: 24/03/2010, 14h34
  2. Optimisation chargement fichier xml
    Par djspank dans le forum Linq
    Réponses: 9
    Dernier message: 11/12/2009, 11h36
  3. probleme chargement usercontrol
    Par frankbe dans le forum ASP.NET
    Réponses: 22
    Dernier message: 01/08/2008, 12h38
  4. ADO.NET Optimisation chargement informations
    Par Pfeffer dans le forum ASP.NET
    Réponses: 8
    Dernier message: 28/03/2008, 11h43
  5. Optimiser chargement Assemblies
    Par TSalm dans le forum Général Dotnet
    Réponses: 13
    Dernier message: 07/12/2007, 23h07

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