C'était probablement moi :-) Par défaut, votre service et la reliure utilisée détermineront si une session entre en jeu ou non.
Si vous ne faites rien, et utilisez wsHttpBinding, vous aurez une session. Si vous voulez éviter cela, vous devez:
- passer à un autre protocole/liant le cas échéant
- décorer vos contrats de service avec un attribut SessionMode
Si vous voulez arrêter un service de jamais à l'aide d'une session, vous pouvez le faire comme ceci:
[ServiceContract(Namespace="....", SessionMode=SessionMode.NotAllowed)]
interface IYourSession
{
....
}
et vous pouvez décorer votre classe de service avec les instance context mode appropriés attributs:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
class YourService : IYourService
{
....
}
Avec ceci, vous devriez être à peu près du bon côté et ne pas avoir de séances quelconques.
Marc
Oui, c'était vous. Merci! –
+1 pour des informations utiles par défaut sur wsHttpBinding. L'interface devrait-elle lire 'interface IYourService' au lieu de' IYourSession'? J'essayais de relier les deux échantillons ensemble :) Merci! –
Comment (pour wshttpbinding) la relation entre SessionMode.NotAllowed et maxConcurrentSessions de serviceThrottling? Peut-être que maxConcurrentSessions indique qu'il n'est pas nécessaire de valider le contexte de sécurité des proxys clients et que les points SessionMode.NotAllowed sont des services sans état. – Gerard