OVH Cloud OVH Cloud

Plusieurs questions

3 réponses
Avatar
Trad en co
Bonsoir a tous

Je suis nouveau dans le monde de .net

le fichier web.config est-il visible via http ou telnet ?

Comment puis-je réutilisé une fonction a travers toutes les pages d'un site
?

Comment déclarer une variable ou un objet de facon a le réutilisé dans
toutes les pages d'un site ?

Cordialement

3 réponses

Avatar
Patrick Philippot
Bonjour,

Trad en co wrote:
le fichier web.config est-il visible via http ou telnet ?



Non.

Comment puis-je réutiliser une fonction a travers toutes les pages
d'un site ?



Si l'objet auquel appartient cette méthode est partagé via le GAC, il
sera instanciable et utilisable depuis n'importe quel autre assemblage
tournant sur votre serveur. Il faut toutefois lui donner un nom fort
avant de l'installer dans le GAC.

Comment déclarer une variable ou un objet de façon a le réutiliser
dans
toutes les pages d'un site ?



Tout objet instancié dans global.asax de cette manière:

<object runat="server" id="MonInstance" class="MaClasse" scope
="Application">
...
</object>

est utilisable globalement au niveau de l'application. C'est a priori le
seul moyen de partager un objet au niveau d'une appli ASP .Net. Vous
pourrez le référencer dans n'importe quelle page: MonInstance.MaProp ou
MonInstance.MaMethode.

Par contre, je vois que vous avez tendance à parler variables et
fonctions. .Net c'est de l'objet pur. Il faut oublier toute idée de
procédures, fonctions ou variables globales. Procédures et fonctions
sont des méthodes qui appartiennent nécessairement à une classe. Les
variables sont nécessairement des membres d'une classe.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Avatar
Joël Descombes
> > Comment puis-je réutiliser une fonction a travers toutes les pages
> d'un site ?

Si l'objet auquel appartient cette méthode est partagé via le GAC, il
sera instanciable et utilisable depuis n'importe quel autre assemblage
tournant sur votre serveur. Il faut toutefois lui donner un nom fort
avant de l'installer dans le GAC.



Il me semble que le besoin est plus simple. S'agissant des pages d'un même
site, la création d'une simple classe plublique avec des méthodes publiques
suffisent. La création d'une dll mise en GAC est interessante pour une
solution multi-sites.

> Comment déclarer une variable ou un objet de façon a le réutiliser
> dans
> toutes les pages d'un site ?

Tout objet instancié dans global.asax de cette manière:

<object runat="server" id="MonInstance" class="MaClasse" scope
="Application">
....
</object>

est utilisable globalement au niveau de l'application. C'est a priori le
seul moyen de partager un objet au niveau d'une appli ASP .Net. Vous
pourrez le référencer dans n'importe quelle page: MonInstance.MaProp ou
MonInstance.MaMethode.




On peut également utiliser la mise en cache de l'objet, ou utiiser une
classe ayant des variables statiques. Bref, il y a l'embarras du choix.

Joël Descombes
MCAD.Net
Avatar
Patrick Philippot
Bonjour Joël,

Il me semble que le besoin est plus simple. S'agissant des pages d'un
même site, la création d'une simple classe publique avec des
méthodes publiques suffisent. La création d'une dll mise en GAC est
interessante pour une solution multi-sites.



Je n'ai pas su décider ce que le demandeur voulait dire par "site".
Application? Serveur? Un site pouvant être composé de plusieurs
applications... Dans ce dernier cas, une DLL non partagée ne ferait pas
l'affaire.

On peut également utiliser la mise en cache
de l'objet



Là encore, il me semble que le scope du Cache est l'application. Tout
dépend de ce que cherche "Trad en co".

ou utiliser une classe ayant des variables
statiques



OK pour les variables. Pour les méthodes statiques, ne pas oublier
qu'elles n'auront pas accès aux données non statiques.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr