Static contre Application

Résolu
pma3d
Messages postés
36
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
14 septembre 2005
- 29 juin 2005 à 13:41
TheSaib
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
- 29 juin 2005 à 14:02
Bonjour à tous,



Et oui, c'est encore moi ! J'aimerais savoir si quelqu'un
pourrait m'expliquer la différence entre une variable déclarée en
static dans un webservice et une variable utilisant l'état
d'application :

public static int test;

ou

Application["int"] = test;

La msdn 'vend' l'état d'application comme étant le mécanisme de
variable globale des services web, mais, a première vue, les deux
fonctionnent de la même manière : à la première instanciation du
service, on instancie la variable static, ou on remplit l'état
d'application (appelé "int" dans mon exemple).

Alors, comme les deux existent, je me dis qu'il doit y avoir une différence (même légère) entre les deux.

Autre question (peut-être d'ailleurs la réponse à la première) : pour
l'état d'application, il y a un mécanisme de sémaphore (lock et unlock
autour d'une instruction qui accède à la variable globale, pour éviter
des problèmes de violation d'accès en utilisation concurrente), mais
qu'en est-il des variables déclarées en static ?

Merci d'avance pour vos réponses !

3 réponses

TheSaib
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
23
29 juin 2005 à 13:56
Le problème du static c'est que tu n'est pas sûr que ton WebService tourne toujours dans le même domaine / processus. Si les processus sont dédoublés (gd nb d'utilisateurs) ta variable static n'aura du coup aucun sens, contrairement à Application.

::|The S@ib|::
MVP C#.NET
3
pma3d
Messages postés
36
Date d'inscription
lundi 13 juin 2005
Statut
Membre
Dernière intervention
14 septembre 2005

29 juin 2005 à 14:01
OK merci.

En plus, je ne savais même pas que le service web pouvait se dédoubler. Alors merci doublement !
0
TheSaib
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
23
29 juin 2005 à 14:02
sé dédoubler étais succint, tourner dans un processus différent il peut.

::|The S@ib|::
MVP C#.NET
0