2010-06-20 5 views
1

J'ai créé plusieurs services WCF. Afin d'éviter d'ajouter des références de service dans chacun de mes projets clients, j'ai créé un projet proxy qui contient toutes les références de service et que chaque projet peut utiliser comme référence dll. problème est que j'ai toujours besoin d'un fichier app.config dans chacun de mes projets clients. ce qui m'amène à la question:en utilisant le projet proxy wcf au lieu des fichiers app.config pour chaque client

Y at-il un moyen de contourner cela?

ou plus précis:

est-il un moyen de rendre le projet client indépendant de la mise en œuvre WCF j'utiliser dans mon projet proxy?

Répondre

0

Dans WCF, vous pouvez toujours tout faire en configuration (de préférence dans la plupart des cas) ou en code. Par conséquent, vous pouvez certainement utiliser les classes et les interfaces proxy générées, et faire cuire les points de terminaison etc. dans le code de votre projet client.

Mais encore une fois - l'utilisation de la config est généralement la méthode préférée (plus de flexibilité). Mais si vous devez - vous pouvez faire (presque) tout en utilisant des lignes de code.

Si vous souhaitez utiliser la configuration, vous devez ajouter les sections appropriées au fichier de configuration de votre application cliente. Une manière de "centraliser" et de partager cette information consiste à en mettre autant que possible dans des fichiers de configuration séparés - par ex. vous pouvez avoir un fichier de configuration pour les comportements et l'appeler behaviors.config, en avoir un autre avec les paramètres du client appelé clients.config.

Dans l'application de votre client, vous pouvez ensuite référencer ces communes, configs partagées:

<system.serviceModel> 
    <behaviors configSource="behaviors.config" /> 
    <client configSource="clients.config" /> 
</system.serviceModel> 

Vous ne pouvez pas sortir sans config du tout - mais vous pouvez certainement centraliser et partager une bonne partie de ce genre de choses config une fois et ensuite le réutiliser plusieurs fois.

+0

Ce n'est pas tout à fait ce que j'espérais mais c'est assez bien. De cette façon, les clients n'ont besoin que de se familiariser avec les fichiers de configuration des ressources et non avec l'implémentation réelle, sans copier-coller (très mauvais!) Lors de la création d'un nouveau client. Cela va certainement faire. Merci beaucoup Marc :) – AlonEl

Questions connexes