Question de performance [Résolu]

Signaler
Messages postés
155
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 février 2009
-
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
-
Bonjour !

J'aimerais savoir ce qui est le mieux pour le serveur dans les 2 cas suivant.

1) Mettre dans des variables session la valeur du style (ex : backgroundcolor, textcolor) prit d'une base de données
Dans le fond faire l'appel seulement quand les variables session sont vides. (Environ 8 variables session)

2) Faire l'appel à la base de données à tous les chargement de la page sans mettre dans des variables session. Je sais qu'ici j'économise dans la mémoire mais il a beaucoup plus d'appel à la base de données.

Merci d'avance !

~~ Cordialement Francois Gingras

9 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Ok

C'est pas la bonne solution.

Dans ta page conteneur
WebUserControl1.ButtonText = "Bonjour"

Dans ton usercontrol

Public Property ButtonText() As String
Get
Return Button1.Text
End Get
Set(ByVal value As String)
Button1.Text = value
End Set
End Property


Je pense que cela permettra de diminuer tes variables de sessions et d'améliorer la qualité de ton code.

Bon courage.
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut,

Quelque est l'interet de faire ce genre de chose.

Les variables de sessions sont en base de données aussi, si mode sqlserver (en mémoire pendant l'execution), sinon en memoire mode inproc.

en dotnet2 (il y a la personnilisation avec les profiles)
c'est stocké dans le profil de l'utilisateur. en bdd aussi, mais de facon plus propre que les sessions.

Voir http://msdn.microsoft.com/msdnmag/issues/07/03/ASPNET2/Default.aspx?loc=fr
Ca doit être mieux pensé et optimiser qu'une solution maison.



Bon courage
Messages postés
155
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 février 2009

Je suis avec MS Access mais si tu me dit que les variables session sont stockées dans une base de données (C'est vrai que j'avais pas pensé à ça) il est mieu pour moi de faire l'appel à ma base de données access à tout les coups alors !

~~ Cordialement Francois Gingras
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Dans le cas de access, je ne sais pas comment ca fonctionne, mais tes variables de sessions doivent être en mémoire alors.

Sinon, je crois que si tu utilises la base de données sqlserveur pour les profile, il n'y a pas besoin de sql serveur sur le poste de production, c'est un fichier comme access qui est généré dans le répertoire DATA de ton site, le problème est je pense qu'il faut crée les utilsateurs dans cette base aussi pour avoir des profiles gérér par dotnet.

Mais tu n'as pas répondu a ma question quel est le but de faire ce genre de manip.

Il y a peut être des méthodes plus simple pour résoudre ton problème? mais je manque d'info.
Messages postés
155
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 février 2009

C'est pas un problème c'est juste que j'ai plusierus usercontrol. Dans mon Masterage je load quelque détail que jai de besoin de rechargé dans les usercontrol parce que je ne sais pas comment passé des variables aux usercontrol sans utiliser des variables sessions ou des cookies :S

~~ Cordialement Francois Gingras
Messages postés
155
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 février 2009

Akk je comprend !!

On peut tu faire un constructeur pour un userControl ?

~~ Cordialement Francois Gingras
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Les constructeur existe pour les webusercontroles.

Public Sub New(ByVal textButton As String)
Button1.Text = textButton
End Sub
Public Sub New()

End Sub


Page appelante
Panel1.Controls.Add(LoadControl("WebUserControl.ascx"))


Mais je ne sais pas comment sans servir dans la page contenant
NB : il faut garder un constructeur par défaut (vide ou qui renseigne les membres privés, ...) pour le compilateur retrouve ses petits.


Si tu voit comment mettre des parametres je suis preneur, mais c'est peut etre pas la question que tu te poses?
Peux-tu développer plus.
Messages postés
155
Date d'inscription
vendredi 12 décembre 2003
Statut
Membre
Dernière intervention
15 février 2009

Non c'est correcte ! Ta première réponse ma permit de comprendre que les usercontrol agissent comme des classes ! Alors je peux mettre des propriétés !

Merci gros !

~~ Cordialement Francois Gingras
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Le probleme des usercontrol est qu'il appartiennent à un site, on ne peut pas les mettre en dll.
Pour mettre en dll, il faut faire des controles serveur.
Et ca donne plus de liberté mais c'est un peut plus complexe a ecrire