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 une 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 seul canal est utilisé pour les appels de service. 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 mis en pool et peuvent être réutilisés. Lors de la réutilisation d’un canal, le proxy de service conserve le canal ouvert si le canal sous-jacent n’a pas été défectueux ou si l’appel sur un canal a entraîné l’erreur du proxy de service sur le canal. Notez que. sauf en cas d’erreur, une fois qu’un canal est ouvert, il est maintenu 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 échoue, la machine d’état du 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 son rapport à l’état, consultez la rubrique proxy de service. Pour obtenir des exemples de liaisons de canal différentes, consultez les exemples suivants :
- liaison de canal non session, HttpCalculatorClientExample
- liaison de canal basé sur session, SessionfullCalculatorClientExample