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 2367 Date d'inscription mardi 17 avril 2001 Statut Membre 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 2367 Date d'inscription mardi 17 avril 2001 Statut Membre 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 2367 Date d'inscription mardi 17 avril 2001 Statut Membre 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
Rejoignez-nous