Bonjour,
J'aimerai quelques éclaircissements sur la manière dont se comporte un attribut statique dans une classe pendant la durée de vie d'une application web ASP.Net...
Voilà, mon expérience me vient surtout du PHP où, à chaque appel de page, tous les objets sont recréés et on a pas de persistance d'objet d'un appel au suivant. Donc j'ai un peu de mal avec les notions ASP.Net... Si j'ai une classe avec un attribut statique, j'ai cru comprendre qu'il était le même pour toute l'application (comprendre : tous les utilisateurs, tous les appels de pages tant qu'on ne relance pas l'appli), j'ai d'ailleurs fait un test et effectivement ça a bien l'air d'être ça...
Donc voici mon soucis (oué, j'y viens ^^)... Je voudrais initialiser un objet au début de l'appel à une page, accessible n'importe quand et n'importe où (donc aussi dans les différente classes) durant le traitement de cette page et uniquement cette page. Bref, que chaque page ait sa propre instance de l'objet, mais que je n'ai pas besoin de le ré-instancier à chaque fois que je l'utilise dans le traitement de la page.
J'espère que c'est clairVisiblement je ne peux pas utiliser un champ static (pour faire une classe type singleton) pour cela car l'objet sera instancié une fois pour toute et j'aurai toujours la même instance...
Comment puis-je faire pour me permettre au cours du traitement d'une même page, de n'initialiser qu'une seule fois un objet (à l'initialisation coûteuse mais variable - donc pas possible de le conserver pour toute l'appli) qui me serait accessible un peu partout dans les différentes classes que j'ai définies ?
J'espère que ce que je raconte est compréhensibleEst-ce que vous auriez des idées ? *espoir*
Partager