2009-03-24 7 views
3

Dans certains endroits, je vois que IsInitiating crée une nouvelle session. D'autres endroits disent qu'il crée une nouvelle session seulement si nécessaire. Qui est correct? Pour être clair, je veux m'assurer que je puisse appeler IService.Foo trois fois sans créer trois sessions.WCF: Que fait exactement IsInitiating?

Répondre

3

La première fois qu'une opération IsInitiating = true est appelée via un canal, la session commence. Les futurs appels à IsInitiating = true ne démarrent pas de nouvelles sessions, ils font simplement partie de la session existante. Une session se termine après l'appel d'une opération IsTerminating (cela provoque la fermeture du canal par le client). Aucune opération supplémentaire ne peut être appelée via le canal une fois que l'opération IsTerminating est revenue. Ces propriétés permettent aux développeurs de contrôler l'ordre d'invocation de l'opération par rapport à la durée de vie de la session.

Sorry, Here is a link to the source.

+0

Merci, c'est exactement ce que je cherchais. –

+0

Merci pour le lien! –