2010-03-19 1 views

Répondre

19

Si vous avez utilisé Add Service Reference de Visual Studio ou l'outil svcutil.exe, vous ne verrez probablement jamais une ChannelFactory.

Fondamentalement, la création du proxy côté client pour un service WCF est un processus en deux étapes:

  • créer le ChannelFactory<T> approprié pour votre contrat de service spécifique
  • étant donné que l'usine de canal, créer la communication réelle canal entre le client et le service

Si vous avez le contrôle sur les deux extrémités du fil, et vous pouvez mettre vos contrats de service et de données dans un ensemble séparé, vous pouvez briser ce pr deux étapes OCESSUS et gérer manuellement:

  • créer le ChannelFactory<IMyService> une fois, ceci est une opération assez complexe et chronophage, donc si jamais possible, essayez de le faire que si vraiment nécessaire, puis mettre en cache l'usine de canal pour réutiliser plus tard

  • créer le canal réel en utilisant l'usine de canal chaque fois que vous devez communiquer avec le serveur

Il est une construction très spécifique pour les services WCF, donc je ne pense pas que vous aurez jamais utiliser en dehors de la Portée WCF.

5

La classe ChannelFactory est utilisée pour construire un canal entre le client et le service sans avoir besoin d'un proxy. Dans certains cas, vous pouvez avoir un service étroitement lié à l'application cliente. Dans un tel cas, vous pouvez directement référencer la DLL d'interface et utiliser ChannelFactory pour appeler vos méthodes en utilisant cela.

Je vous suggère également de faire la différence entre l'usine Proxy et Channel. cela vous aidera à comprendre l'utilisation exacte de Channel Factory. Le lien suivant peut vous aider http://ashishkhandelwal.arkutil.com/wcf/channelfactory-over-proxy-class-in-wcf/

+0

J'ai essayé ce lien et il n'y avait que des annonces et autres. – CodeChops