2009-02-19 6 views
2

Lorsque j'expose un service à l'aide de NetTcpBinding, l'accès à distance .Net est-il utilisé sous la surface? Puis-je consommer ce service en utilisant .Net remoting côté client? Je demande cela parce que j'ai toujours pensé que WCF était juste un emballage pour les protocoles sous-jacents tels que WS *, Remoting, COM +, et MSMQ. Et même si je sais que exposer WS * fonctionnera comme prévu, les autres semblent être plus ambivalents.WCF et NetTcpBinding

Répondre

2

WCF est plus que "juste" un emballage. C'est une couche de pseudo-magie qui gère une tonne de choses pour les développeurs de composants en fonction des informations de configuration. Avec WCF, vous pouvez créer un contrat de service et une implémentation, puis les utiliser sur plusieurs machines via HTTP, HTTPS, NET-TCP, sur une seule machine via des canaux nommés, de manière sécurisée, non sécurisée, etc.

C'est très différent de ce que fait .net remoting. Prenez une copie de "Programming WCF Services" de Juval Lowy pour avoir une meilleure idée de ce que vous pouvez faire avec WCF.

3

WCF/NetTcpBinding est différent de l'accès distant. WCF est une API basée sur des messages; Remoting est un framework d'activation/proxy (essentiellement) (see also). Je doute vraiment que vous pourriez consommer un service WCF/NetTcpBinding via un client à distance; ils sont juste trop différents. WCF est un framework qui fournit un accès unifié à un certain nombre de protocoles de messagerie - et en effet vous pouvez ajouter le vôtre - mais ce ne serait pas facile.

Je suggère d'utiliser un client WCF approprié, ou (si ce n'est pas possible) utiliser un client basic-http, ou (mon option la moins préférée) remoting old-style si vous devez vraiment, vraiment.