2009-05-04 5 views
2

J'ai WCF client initialisé comme celui-ciComment puis-je changer la configuration par défaut pour WCF?

MyServiceClient client = new MyServiceClient(); 

il utilise le app.config pour lire les points de terminaison. Je voudrais changer dynamiquement le fichier de configuration par défaut dans un fichier que je définis. Je sais que je peux ouvrir un fichier de configuration comme ceci:

Configuration myConfig = ConfigurationManager.OpenExeConfiguration 

mais comment puis-je mettre myConfig pour remplacer la configuration par défaut?

Répondre

4

Consultez cet article ici: Read WCF Configuration from a Custom Location.

Il s'agit essentiellement de créer un ServiceHost personnalisé qui lit la configuration à partir d'un fichier différent que vous pouvez spécifier, plutôt que depuis web.config ou app.config.

Voici un autre excellent article sur l'utilisation des fichiers de configuration personnalisés pour les services WCF hébergés dans IIS: http://blogs.msdn.com/dotnetinterop/archive/2008/09/22/custom-service-config-file-for-a-wcf-service-hosted-in-iis.aspx

Marc

1

J'ai vu quelque chose de similaire en lisant simplement les valeurs d'un fichier de configuration personnalisé (qui venait d'être ouvert et lu avec un analyseur XML standard). Ensuite, les valeurs ont été branchées dans les entrées de configuration WCF par programme. Cela a été effectué car plusieurs projets de la même solution lisent tous leurs entrées de configuration WCF à partir du même fichier. Je ne sais pas pourquoi ils sont allés avec cette architecture, mais à la fin cela a très bien fonctionné.

+0

Oui, mais ce que je ne vais pas, je voudrais simplement remplacer le fichier de configuration par défaut pour l'un de mes propres –

+0

Que gagnerez-vous en utilisant votre propre fichier de configuration au lieu du fichier par défaut? Juste curieux. –

+0

Mon service est exposé en tant que COM, et est invoqué par une autre application sur laquelle je ne peux pas avoir de contrôle, donc le fichier de configuration par défaut serait TheOtherApp.exe.config, et j'ai besoin que ma configuration soit chargée. –

Questions connexes