Proxy de service et sessions
Le proxy de service a des comportements spéciaux pour les liaisons de canal de session et non basées sur la session. Le proxy de service fournit une sémantique basée sur la session si la liaison de canal sous-jacente est basée sur une session. Dans ce cas, un canal unique est utilisé pour traiter les appels. Toutefois, si la liaison de canal n’est pas basée sur une session, le proxy de service crée un canal distinct pour chaque appel. Notez toutefois que les canaux non basés sur une session sont regroupés et peut-être réutilisés. Lors de la réutilisation d’un canal, le proxy de service maintient le canal ouvert si le canal sous-jacent n’a pas d’erreur ou si l’appel sur un canal a entraîné l’erreur du proxy de service du canal. Notez que. sauf en cas d’erreur, une fois qu’un canal est ouvert, il reste ouvert tant que le proxy de service est ouvert et est fermé uniquement lorsque le proxy de service est fermé.
Si la liaison de canal est basée sur une session et si le canal sous-jacent est défaillant, la machine à état proxy de service passe à l’état WS_SERVICE_PROXY_STATE_FAULTED . Dans le cas d’une liaison de canal non basée sur une session, une erreur dans le canal sous-jacent n’entraîne pas la transition du proxy vers WS_SERVICE_PROXY_STATE_FAULTED état.
Pour plus d’informations sur le proxy de service et sa relation à l’état, consultez la rubrique Proxy de service . Pour obtenir des exemples de liaisons de canaux différentes, consultez les exemples suivants :
- liaison de canal non session, HttpCalculatorClientExample
- liaison de canal basée sur session, SessionfullCalculatorClientExample