1°) Je déclarai mes instances au début de mes class afin d'en faire
bénéficier les fonctions, propriétés, ...
Private clsWebCommunsProgTraitFich As New
_WebCommuns.Prog.traitementFich
Public ReadOnly Property ucMenu1() As Boolean
End Property
Public ReadOnly Property ucMenu2() As Boolean
End Property
...
plutôt que les déclarés avec dim dans plusieurs fonctions, propriétés, ...
Public ReadOnly Property ucMenu1() As Boolean
dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich
...
End Property
Public ReadOnly Property ucMenu2() As Boolean
dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich
...
End Property
Hors en débuggant, je m'aperçois que je repasse dans le 1er cas à chaque
fois dans toutes les class de toutes mes pages aspx, ascx, ... sur cette
"initialisation" ce qui est assez pénible .
Mais le plus grave étant si celà pénalisait l'appli s'il y avait monté
en charge !!??
2°) De manière plus anectotique, je me pose la question si celà vaut le
coup d'optimiser et de gagner peut-etre en performance, en ne laissant
que les déclarations des objets dont on a besoin et enlevant à la
plupart WithEvents. Toutes ces choses rajouttées automatiquement par VS.NET
Protected ucSaisies As UserControl
Protected msgErrGen As HtmlGenericControl
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrice
Le New provoque effectivement une instanciation immédiate (contrairement par exemple aux versions précédentes de VB). Cest donc normal d'autant plus que le modèle de programmation ASP.NET fait que la page est recrée entièrement à chaque sollicitation.
Tu peux aussi de te contenter de déclarer la variable privée au niveau de ta classe mais l'instancier seulement en cas de besoin (supprimer le New, le placer là ou tu ens as besoin).
Après je trouve plus propre si ce sont des variables purement locales de les laisser locales. Si tu peux créer l'objet dans une fonction et réutiliser cette même instance dans une autre, je le mettrai alors effectivement privé.
Pour la montée en charge. A voir ce qui est fait à la création. Il est clair que si tu fais des traitements lourds, il est dommage de créer cet objet dès le démarrage d'autant plus si certains chemins font que tu n'en as pas besoin par la suite...
Patrice
--
"herve" a écrit dans le message de news:%
Bonjour,
1°) Je déclarai mes instances au début de mes class afin d'en faire bénéficier les fonctions, propriétés, ...
Private clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich
Public ReadOnly Property ucMenu1() As Boolean End Property
Public ReadOnly Property ucMenu2() As Boolean End Property
...
plutôt que les déclarés avec dim dans plusieurs fonctions, propriétés, ...
Public ReadOnly Property ucMenu1() As Boolean dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich ... End Property
Public ReadOnly Property ucMenu2() As Boolean dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich ... End Property
Hors en débuggant, je m'aperçois que je repasse dans le 1er cas à chaque fois dans toutes les class de toutes mes pages aspx, ascx, ... sur cette "initialisation" ce qui est assez pénible . Mais le plus grave étant si celà pénalisait l'appli s'il y avait monté en charge !!??
2°) De manière plus anectotique, je me pose la question si celà vaut le coup d'optimiser et de gagner peut-etre en performance, en ne laissant que les déclarations des objets dont on a besoin et enlevant à la plupart WithEvents. Toutes ces choses rajouttées automatiquement par
VS.NET
Protected ucSaisies As UserControl Protected msgErrGen As HtmlGenericControl
Un avis, une idée Hervé
Le New provoque effectivement une instanciation immédiate (contrairement par
exemple aux versions précédentes de VB). Cest donc normal d'autant plus que
le modèle de programmation ASP.NET fait que la page est recrée entièrement à
chaque sollicitation.
Tu peux aussi de te contenter de déclarer la variable privée au niveau de ta
classe mais l'instancier seulement en cas de besoin (supprimer le New, le
placer là ou tu ens as besoin).
Après je trouve plus propre si ce sont des variables purement locales de les
laisser locales. Si tu peux créer l'objet dans une fonction et réutiliser
cette même instance dans une autre, je le mettrai alors effectivement privé.
Pour la montée en charge. A voir ce qui est fait à la création. Il est clair
que si tu fais des traitements lourds, il est dommage de créer cet objet dès
le démarrage d'autant plus si certains chemins font que tu n'en as pas
besoin par la suite...
Patrice
--
"herve" <hd-aenlever@9online.fr> a écrit dans le message de
news:%23zfqTH7nEHA.1248@TK2MSFTNGP09.phx.gbl...
Bonjour,
1°) Je déclarai mes instances au début de mes class afin d'en faire
bénéficier les fonctions, propriétés, ...
Private clsWebCommunsProgTraitFich As New
_WebCommuns.Prog.traitementFich
Public ReadOnly Property ucMenu1() As Boolean
End Property
Public ReadOnly Property ucMenu2() As Boolean
End Property
...
plutôt que les déclarés avec dim dans plusieurs fonctions, propriétés, ...
Public ReadOnly Property ucMenu1() As Boolean
dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich
...
End Property
Public ReadOnly Property ucMenu2() As Boolean
dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich
...
End Property
Hors en débuggant, je m'aperçois que je repasse dans le 1er cas à chaque
fois dans toutes les class de toutes mes pages aspx, ascx, ... sur cette
"initialisation" ce qui est assez pénible .
Mais le plus grave étant si celà pénalisait l'appli s'il y avait monté
en charge !!??
2°) De manière plus anectotique, je me pose la question si celà vaut le
coup d'optimiser et de gagner peut-etre en performance, en ne laissant
que les déclarations des objets dont on a besoin et enlevant à la
plupart WithEvents. Toutes ces choses rajouttées automatiquement par
VS.NET
Protected ucSaisies As UserControl
Protected msgErrGen As HtmlGenericControl
Le New provoque effectivement une instanciation immédiate (contrairement par exemple aux versions précédentes de VB). Cest donc normal d'autant plus que le modèle de programmation ASP.NET fait que la page est recrée entièrement à chaque sollicitation.
Tu peux aussi de te contenter de déclarer la variable privée au niveau de ta classe mais l'instancier seulement en cas de besoin (supprimer le New, le placer là ou tu ens as besoin).
Après je trouve plus propre si ce sont des variables purement locales de les laisser locales. Si tu peux créer l'objet dans une fonction et réutiliser cette même instance dans une autre, je le mettrai alors effectivement privé.
Pour la montée en charge. A voir ce qui est fait à la création. Il est clair que si tu fais des traitements lourds, il est dommage de créer cet objet dès le démarrage d'autant plus si certains chemins font que tu n'en as pas besoin par la suite...
Patrice
--
"herve" a écrit dans le message de news:%
Bonjour,
1°) Je déclarai mes instances au début de mes class afin d'en faire bénéficier les fonctions, propriétés, ...
Private clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich
Public ReadOnly Property ucMenu1() As Boolean End Property
Public ReadOnly Property ucMenu2() As Boolean End Property
...
plutôt que les déclarés avec dim dans plusieurs fonctions, propriétés, ...
Public ReadOnly Property ucMenu1() As Boolean dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich ... End Property
Public ReadOnly Property ucMenu2() As Boolean dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich ... End Property
Hors en débuggant, je m'aperçois que je repasse dans le 1er cas à chaque fois dans toutes les class de toutes mes pages aspx, ascx, ... sur cette "initialisation" ce qui est assez pénible . Mais le plus grave étant si celà pénalisait l'appli s'il y avait monté en charge !!??
2°) De manière plus anectotique, je me pose la question si celà vaut le coup d'optimiser et de gagner peut-etre en performance, en ne laissant que les déclarations des objets dont on a besoin et enlevant à la plupart WithEvents. Toutes ces choses rajouttées automatiquement par
VS.NET
Protected ucSaisies As UserControl Protected msgErrGen As HtmlGenericControl
Un avis, une idée Hervé
Paul Bacelar
Les pages Web sont instantiées à chaque requête, l'illusion de continuité est due au viewStates qui permet d'initialiser les contrôles et propriétés à leur anciens valeurs.
L'optimisation n'a aucun sens sans une définition très précise de la métrique de performance. En clair, optimiser n'a aucun sens mais rendre une application plus performante dans un ou plusieurs cas d'utilisation sur un ou plusieurs aspects est plus sensé.
Il est indéniable que WithEvents n'est pas gratuit, comme tous le reste. Avant de perdre du temps sur des choses insignifiantes, il est préférable de voir votre solution dans son ensemble et d'y détecter les goulot d'étranglement et d'y remédier.
-- Paul Bacelar
"herve" wrote in message news:#
Bonjour,
1°) Je déclarai mes instances au début de mes class afin d'en faire bénéficier les fonctions, propriétés, ...
Private clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich
Public ReadOnly Property ucMenu1() As Boolean End Property
Public ReadOnly Property ucMenu2() As Boolean End Property
...
plutôt que les déclarés avec dim dans plusieurs fonctions, propriétés, ...
Public ReadOnly Property ucMenu1() As Boolean dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich ... End Property
Public ReadOnly Property ucMenu2() As Boolean dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich ... End Property
Hors en débuggant, je m'aperçois que je repasse dans le 1er cas à chaque fois dans toutes les class de toutes mes pages aspx, ascx, ... sur cette "initialisation" ce qui est assez pénible . Mais le plus grave étant si celà pénalisait l'appli s'il y avait monté en charge !!??
2°) De manière plus anectotique, je me pose la question si celà vaut le coup d'optimiser et de gagner peut-etre en performance, en ne laissant que les déclarations des objets dont on a besoin et enlevant à la plupart WithEvents. Toutes ces choses rajouttées automatiquement par
VS.NET
Protected ucSaisies As UserControl Protected msgErrGen As HtmlGenericControl
Un avis, une idée Hervé
Les pages Web sont instantiées à chaque requête, l'illusion de continuité
est due au viewStates qui permet d'initialiser les contrôles et propriétés à
leur anciens valeurs.
L'optimisation n'a aucun sens sans une définition très précise de la
métrique de performance. En clair, optimiser n'a aucun sens mais rendre une
application plus performante dans un ou plusieurs cas d'utilisation sur un
ou plusieurs aspects est plus sensé.
Il est indéniable que WithEvents n'est pas gratuit, comme tous le reste.
Avant de perdre du temps sur des choses insignifiantes, il est préférable de
voir votre solution dans son ensemble et d'y détecter les goulot
d'étranglement et d'y remédier.
--
Paul Bacelar
"herve" <hd-aenlever@9online.fr> wrote in message
news:#zfqTH7nEHA.1248@TK2MSFTNGP09.phx.gbl...
Bonjour,
1°) Je déclarai mes instances au début de mes class afin d'en faire
bénéficier les fonctions, propriétés, ...
Private clsWebCommunsProgTraitFich As New
_WebCommuns.Prog.traitementFich
Public ReadOnly Property ucMenu1() As Boolean
End Property
Public ReadOnly Property ucMenu2() As Boolean
End Property
...
plutôt que les déclarés avec dim dans plusieurs fonctions, propriétés, ...
Public ReadOnly Property ucMenu1() As Boolean
dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich
...
End Property
Public ReadOnly Property ucMenu2() As Boolean
dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich
...
End Property
Hors en débuggant, je m'aperçois que je repasse dans le 1er cas à chaque
fois dans toutes les class de toutes mes pages aspx, ascx, ... sur cette
"initialisation" ce qui est assez pénible .
Mais le plus grave étant si celà pénalisait l'appli s'il y avait monté
en charge !!??
2°) De manière plus anectotique, je me pose la question si celà vaut le
coup d'optimiser et de gagner peut-etre en performance, en ne laissant
que les déclarations des objets dont on a besoin et enlevant à la
plupart WithEvents. Toutes ces choses rajouttées automatiquement par
VS.NET
Protected ucSaisies As UserControl
Protected msgErrGen As HtmlGenericControl
Les pages Web sont instantiées à chaque requête, l'illusion de continuité est due au viewStates qui permet d'initialiser les contrôles et propriétés à leur anciens valeurs.
L'optimisation n'a aucun sens sans une définition très précise de la métrique de performance. En clair, optimiser n'a aucun sens mais rendre une application plus performante dans un ou plusieurs cas d'utilisation sur un ou plusieurs aspects est plus sensé.
Il est indéniable que WithEvents n'est pas gratuit, comme tous le reste. Avant de perdre du temps sur des choses insignifiantes, il est préférable de voir votre solution dans son ensemble et d'y détecter les goulot d'étranglement et d'y remédier.
-- Paul Bacelar
"herve" wrote in message news:#
Bonjour,
1°) Je déclarai mes instances au début de mes class afin d'en faire bénéficier les fonctions, propriétés, ...
Private clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich
Public ReadOnly Property ucMenu1() As Boolean End Property
Public ReadOnly Property ucMenu2() As Boolean End Property
...
plutôt que les déclarés avec dim dans plusieurs fonctions, propriétés, ...
Public ReadOnly Property ucMenu1() As Boolean dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich ... End Property
Public ReadOnly Property ucMenu2() As Boolean dim clsWebCommunsProgTraitFich As New _WebCommuns.Prog.traitementFich ... End Property
Hors en débuggant, je m'aperçois que je repasse dans le 1er cas à chaque fois dans toutes les class de toutes mes pages aspx, ascx, ... sur cette "initialisation" ce qui est assez pénible . Mais le plus grave étant si celà pénalisait l'appli s'il y avait monté en charge !!??
2°) De manière plus anectotique, je me pose la question si celà vaut le coup d'optimiser et de gagner peut-etre en performance, en ne laissant que les déclarations des objets dont on a besoin et enlevant à la plupart WithEvents. Toutes ces choses rajouttées automatiquement par
VS.NET
Protected ucSaisies As UserControl Protected msgErrGen As HtmlGenericControl