OVH Cloud OVH Cloud

global.asax

7 réponses
Avatar
De Mortagne
bonjour,

comment fait-on pour acc=E8der =E0 des objets d=E9clarer dans le=20
global.asax ???


merci
S=E9bastien

7 réponses

Avatar
|||Cypher|||
Bonjour.

Tu confonds pas avec Web.config ?

Cordialement,

"De Mortagne" a écrit dans le message de
news:50a501c48078$feb8eee0$
bonjour,

comment fait-on pour accèder à des objets déclarer dans le
global.asax ???


merci
Sébastien
Avatar
Bonjour

Session["MaVariabledeSession"]= une valeur

ou

unevaribledema page=(cast)Session["MaVariabledeSession"]

attention il faut respecter la casse des variable de session un système plus
simple

dans global.asax

Session["VarSession"] // on veut stocker un int


dans le code de la page aspx

public Maclasse....

{
public int MaVarSession
{

get{return (int)Session["VarSession"];}
set{Session["VarSession"]=value;}

}

Voilà plus de risque d'oubli d'un cast ni d'erreur de frappe sur le nom de
la variable de Session
}


Sebastien


"De Mortagne" a écrit dans le message de
news:50a501c48078$feb8eee0$
bonjour,

comment fait-on pour accèder à des objets déclarer dans le
global.asax ???


merci
Sébastien
Avatar
oups

en fait pour répondre a ta question il faut voir que le chiffre 12 que je
donne en exemple peut être bien sur remplacé par un objet

topo pour y accéder le principe c'est l'utilisation de Session

j'ai complété j'ai pensé ne pas avoir été assez précis

Sebastien


a écrit dans le message de
news:
Bonjour

Session["MaVariabledeSession"]= une valeur

ou

unevaribledema page=(cast)Session["MaVariabledeSession"]

attention il faut respecter la casse des variable de session un système


plus
simple

dans global.asax

Session["VarSession"] // on veut stocker un int


dans le code de la page aspx

public Maclasse....

{
public int MaVarSession
{

get{return (int)Session["VarSession"];}
set{Session["VarSession"]=value;}

}

Voilà plus de risque d'oubli d'un cast ni d'erreur de frappe sur le nom de
la variable de Session
}


Sebastien


"De Mortagne" a écrit dans le message de
news:50a501c48078$feb8eee0$
bonjour,

comment fait-on pour accèder à des objets déclarer dans le
global.asax ???


merci
Sébastien




Avatar
De Mortagne
merci,

j'ai fini pas trouver.

merci
-----Message d'origine-----
bonjour,

comment fait-on pour accèder à des objets déclarer dans


le
global.asax ???


merci
Sébastien
.



Avatar
De Mortagne
Je suis capable de créer l'instance sans aucun problème.

mais une fois créer ... le problème est qu'il me donne
aucuen méthode ... et il m'est impossible de recompiler...

une idée...

merci
Sébastien

-----Message d'origine-----
Bonjour ,
Si tu ajoutes un objet en session ou en application dans


ton global.asax en
utilisant une balise <object> tu le retrouves dans la


collection
StaticObjects soit :
HttpContext.Current.Session.StaticObjects

HttpContext.Current.Application.StaticObjects

Ci dessous l'article du MSDN.

Si tu ne fais pas comme ça dis nous comment, on trouvera


autre chose.

La balise <object> permet de déclarer et de créer de


nouvelles variables de
session et d'application en utilisant une syntaxe


déclarative basée sur les
balises. Ces variables sont chargées lors du chargement


de votre application
et sont utilisables par cette dernière. La balise


<object> peut prendre trois
formes différentes, selon le type référence de l'objet


en cours de création.

<object id="id" runat="server" scope="scope" class="Class


Name">
<object id="id" runat="server" scope="scope" progid="COM


ProgID"/>
<object id="id" runat="server" scope="scope" classid="COM


ClassID"/>
Attributs
La balise <object> prend en charge les attributs


suivants.

id
Fournit un identificateur unique à utiliser lors de la


déclaration d'un
objet sur la page.
runat
Doit avoir la valeur server pour l'objet à exécuter


dans ASP.NET. Pour
toutes les valeurs autres que server, le compilateur de


pages considère que
la balise <object> doit être envoyée au client pour


gestion.
scope
Déclare la portée de la déclaration de l'objet.


pipeline indique que l'objet
est disponible uniquement pour la demande HTTP du fichier


d'application
ASP.NET conteneur. application indique que l'objet est


rempli dans la
collection HttpApplicationState. session indique que


l'objet est rempli dans
la collection HttpSessionState. Si aucune portée n'est


spécifiée, l'attribut
scope prend par défaut la valeur pipeline.
class
Spécifie la classe .NET Framework à instancier.
progID
Spécifie le composant COM à instancier en spécifiant


l'identificateur
programmatique du composant.
classID
Spécifie le composant COM à instancier à l'aide de


l'identificateur de
classe du composant.
Paramètres
id
Nom unique à utiliser lors du référencement de l'objet


dans le code suivant.
Class Name
Nom de la classe à instancier.
COM ProgID
Identificateur de programme COM du composant Ã


instancier.
COM ClassID
Identificateur de classe COM du composant à instancier.
Notes
Lorsque le processeur ASP.NET rencontre une balise


<object> côté serveur
dans un fichier d'application ASP.NET, il génère une


propriété sur la classe
en utilisant l'attribut id de la balise en tant que nom


de propriété. La
méthode Get implicite de la propriété est ensuite


configurée pour créer un
objet lors du premier référencement de la propriété.

Si l'attribut scope de la balise <object> a pour valeur


application ou
session, une référence à l'objet (ou au moins des


informations suffisantes
pour créer en différé l'objet lors de son premier


accès) est ajoutée à la
collection StaticObjects de l'application appropriée ou


à la collection
StaticObjects de l'objet session approprié. L'objet est


automatiquement
ajouté à l'espace de noms de toutes les pages .aspx


dans l'application.

Les attributs classid, progid et class s'excluent


mutuellement. Vous ne
devez pas utiliser plusieurs de ces attributs dans une


même balise <object>
côté serveur.

Exemple
L'exemple suivant montre comment utiliser la balise


<object> pour créer un
objet ArrayList sur une page Web Forms. Cet objet est


accessible par
programme en utilisant la valeur items de son attribut id.

<object id="items" class="System.Collections.ArrayList"


runat="server"/>
Voir aussi

"De Mortagne" a écrit :

bonjour,

comment fait-on pour accèder à des objets déclarer




dans le
global.asax ???


merci
Sébastien



.



Avatar
Antoine F.
>"De Mortagne" wrote in message news:7d2c01c48487$5bd51880$
Je suis capable de créer l'instance sans aucun problème.
mais une fois créer ... le problème est qu'il me donne
aucuen méthode ... et il m'est impossible de recompiler...
une idée...
merci
Sébastien



Je suppose que le global asax doit être instancié (s'il l'est) une seule fois (modèle singleton) et
que pour accéder à ses méthodes tu as deux possibilités:

- obtenir son instance. je ne me suis jamais posé cette question...
- créer des méthodes statiques. je le fais tout le temps et cela ne pose aucun problème que
ce soit dans vs.net ou dans l'application elle-même durant son cycle de vie.

.antoine
Avatar
Bonjour,

en fait il faut caster les variables de session exemple

((MonObjet)Session["VarObjet"]).UneFonction

aussi simple que cela

Sebastien


"De Mortagne" a écrit dans le message
de news:7d2c01c48487$5bd51880$
Je suis capable de créer l'instance sans aucun problème.

mais une fois créer ... le problème est qu'il me donne
aucuen méthode ... et il m'est impossible de recompiler...

une idée...

merci
Sébastien

-----Message d'origine-----
Bonjour ,
Si tu ajoutes un objet en session ou en application dans


ton global.asax en
utilisant une balise <object> tu le retrouves dans la


collection
StaticObjects soit :
HttpContext.Current.Session.StaticObjects

HttpContext.Current.Application.StaticObjects

Ci dessous l'article du MSDN.

Si tu ne fais pas comme ça dis nous comment, on trouvera


autre chose.

La balise <object> permet de déclarer et de créer de


nouvelles variables de
session et d'application en utilisant une syntaxe


déclarative basée sur les
balises. Ces variables sont chargées lors du chargement


de votre application
et sont utilisables par cette dernière. La balise


<object> peut prendre trois
formes différentes, selon le type référence de l'objet


en cours de création.

<object id="id" runat="server" scope="scope" class="Class


Name">
<object id="id" runat="server" scope="scope" progid="COM


ProgID"/>
<object id="id" runat="server" scope="scope" classid="COM


ClassID"/>
Attributs
La balise <object> prend en charge les attributs


suivants.

id
Fournit un identificateur unique à utiliser lors de la


déclaration d'un
objet sur la page.
runat
Doit avoir la valeur server pour l'objet à exécuter


dans ASP.NET. Pour
toutes les valeurs autres que server, le compilateur de


pages considère que
la balise <object> doit être envoyée au client pour


gestion.
scope
Déclare la portée de la déclaration de l'objet.


pipeline indique que l'objet
est disponible uniquement pour la demande HTTP du fichier


d'application
ASP.NET conteneur. application indique que l'objet est


rempli dans la
collection HttpApplicationState. session indique que


l'objet est rempli dans
la collection HttpSessionState. Si aucune portée n'est


spécifiée, l'attribut
scope prend par défaut la valeur pipeline.
class
Spécifie la classe .NET Framework à instancier.
progID
Spécifie le composant COM à instancier en spécifiant


l'identificateur
programmatique du composant.
classID
Spécifie le composant COM à instancier à l'aide de


l'identificateur de
classe du composant.
Paramètres
id
Nom unique à utiliser lors du référencement de l'objet


dans le code suivant.
Class Name
Nom de la classe à instancier.
COM ProgID
Identificateur de programme COM du composant Ã


instancier.
COM ClassID
Identificateur de classe COM du composant à instancier.
Notes
Lorsque le processeur ASP.NET rencontre une balise


<object> côté serveur
dans un fichier d'application ASP.NET, il génère une


propriété sur la classe
en utilisant l'attribut id de la balise en tant que nom


de propriété. La
méthode Get implicite de la propriété est ensuite


configurée pour créer un
objet lors du premier référencement de la propriété.

Si l'attribut scope de la balise <object> a pour valeur


application ou
session, une référence à l'objet (ou au moins des


informations suffisantes
pour créer en différé l'objet lors de son premier


accès) est ajoutée à la
collection StaticObjects de l'application appropriée ou


à la collection
StaticObjects de l'objet session approprié. L'objet est


automatiquement
ajouté à l'espace de noms de toutes les pages .aspx


dans l'application.

Les attributs classid, progid et class s'excluent


mutuellement. Vous ne
devez pas utiliser plusieurs de ces attributs dans une


même balise <object>
côté serveur.

Exemple
L'exemple suivant montre comment utiliser la balise


<object> pour créer un
objet ArrayList sur une page Web Forms. Cet objet est


accessible par
programme en utilisant la valeur items de son attribut id.

<object id="items" class="System.Collections.ArrayList"


runat="server"/>
Voir aussi

"De Mortagne" a écrit :

bonjour,

comment fait-on pour accèder à des objets déclarer




dans le
global.asax ???


merci
Sébastien



.