2010-12-10 17 views
1

J'ai des services WCF fonctionnant sur HTTP et un client C++ utilisant gSOAP pour les consommer. Cela fonctionne, mais nous envisageons d'exécuter l'hôte de service dans le même processus que le client pour créer une pile entièrement locale.Comment consommer des services WCF en cours à partir de C++ non géré

Quelle est la meilleure façon de permettre au client C++ de consommer ces services? Avons-nous encore besoin d'utiliser la liaison HTTP? Ou quelque chose comme des tuyaux nommés ou NullTransport fonctionne? De préférence quelque chose qui fonctionnera avec gSOAP ou quelque chose que nous pouvons remplacer avec gSOAP.

Répondre

0

si les deux sont dans le même processus, puis les «parler» les uns aux autres par des moyens directs. c'est-à-dire accéder directement aux objets. sinon, passer par dessus une couche de communication est extrêmement coûteux. la même chose peut être dite pour accéder aux fichiers sur votre disque dur via un partage réseau quand vraiment aller fichier c: \ foo \ something.txt est plus productif. C++ vous permet de construire des types CLR qui sont à la fois du code natif mais aussi du CLR. L'utilisation de cette technique permet à votre type C++. NET de parler de .NET proprement dit. vos types .NET n'auront aucune idée qu'ils invoquent C++ ou vice versa. Jetez un oeil dans vos paramètres de compilation C++ pour CLR