Bonjour,

J'ai un service WCF sur lequel se connectent plusieurs clients.
Le service est configuré ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
ServiceBehavior(
        InstanceContextMode = InstanceContextMode.Single,
        UseSynchronizationContext = false,
        ...
dans le service j'utilise OperationContext.Current.SessionId pour identifier les client qui se connectent.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
protected void Register()
{
        Debug.WriteLine(OperationContext.Current.SessionId);
}
Imaginons le scénario suivant :
- Client1 appelle Register
- Le service exécute Register dans Thread1
- Apres un certain moment Client2 appelle Register
- Le service exécute Register aussi dans Thread1 (ce qui est théoriquement possible, non ??)

Sachant que OperationContext est ThreadStatic est ce que le deuxième appel affiche bien la deuxième session ou est ce qu'il récupère la valeur déjà alimenté par le premier appel puisqu'il s'agit du même thread ?


Merci d'avance...