2013-01-05 2 views
1

J'ai vu des gens utiliser clientBaseAddress au moment de la liaison wsDualHttpBinding. Qu'est-ce que clientBaseAddress? Quel sens spécial il porte.wsDualHttpBinding et clientBaseAddress avec duplex connecton

1) Quelle est l'importance de clientBaseAddress? 2) Si je ne fournis pas clientBaseAddress, quel est le problème?

Vous cherchez une discussion.

Répondre

1

La liaison HTTP double utilise deux connexions, l'une entre le client et le serveur pour les demandes régulières et l'autre entre le serveur et le client pour les rappels. Le clientBaseAddress est utilisé pour indiquer où le point de terminaison de rappel écoute. Cette adresse est envoyée au serveur afin qu'il puisse ouvrir la connexion et rappeler le client. Si vous ne spécifiez pas l'adresse, une valeur par défaut est utilisée car il est nécessaire que la liaison HTTP double fonctionne.

+0

En essayant de dire ... en liaison HTTP double toujours une nouvelle connexion ouverte lorsque le client envoie une demande de service ou lorsque le service envoie une réponse via le rappel au client. veuillez discuter brièvement. merci – Thomas

+0

"Toujours" n'est pas le mot correct. Chaque connexion a une durée de vie de sorte qu'elle peut être réutilisée pour plusieurs requêtes mais elle n'est qu'unidirectionnelle dans le cas de HTTP, donc le client a toujours besoin de sa connexion pour appeler le serveur et le serveur a besoin d'une connexion différente pour appeler le client. –

+0

Je ne suis pas en mesure de confirmer les deux connexions mentionnées dans votre réponse. J'ai écrit un petit service wcf "hello world" avec un callback (et ça marche), mais je ne peux voir qu'une seule connexion établie du client vers le serveur (avec tcpview). Y at-il une source officielle à propos de deux connexions nécessaires, et surtout sur le serveur de connexion au client s'il vous plaît? (ou peut-être il y a quelque chose que j'ai manqué dans votre réponse?) – ggo

Questions connexes