Question de performance

Résolu
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009 - 9 juin 2007 à 06:17
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 10 juin 2007 à 22:23
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

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
10 juin 2007 à 15:25
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.
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
9 juin 2007 à 16:20
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
0
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009
9 juin 2007 à 18:27
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
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
10 juin 2007 à 00:23
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009
10 juin 2007 à 05:39
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
0
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009
10 juin 2007 à 21:24
Akk je comprend !!

On peut tu faire un constructeur pour un userControl ?

~~ Cordialement Francois Gingras
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
10 juin 2007 à 22:04
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.
0
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009
10 juin 2007 à 22:08
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
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
10 juin 2007 à 22:23
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
0
Rejoignez-nous