2008-10-16 6 views
3

Nous avons une application WPF XBAP que nous voulons changer la configuration sur le serveur après son déploiement. Puisque le fichier de configuration est intégré dans les fichiers de déploiement, comment cela est-il possible? Par exemple, nous souhaitons modifier les chaînes de connexion à la base de données auxquelles l'application déployée est connectée ou nous souhaitons mettre à jour les paramètres de liaison de service WCF auxquels elle se connecte? Nous voulons mettre à jour le fichier de configuration sur le serveur et ne pas devoir recompiler et redéployer à chaque fois.Comment mettre à jour le fichier de configuration d'un XBAP après le déploiement?

Merci!

+0

Y a-t-il un problème avec la simple utilisation d'un fichier de configuration externe? – Noldorin

Répondre

3

Dans le répertoire SDK se trouve un programme appelé MageUI.exe. Ce programme vous permet de créer et de modifier des manifestes de déploiement d'applications. Vous pouvez mettre à jour votre fichier de configuration, puis utiliser MageUI pour modifier votre manifeste de déploiement et importer le nouveau fichier de configuration. En fonction de la taille de votre application, il peut être plus facile de cliquer sur Publier dans Visual Studio plutôt que d'utiliser MageUI et de modifier les manifestes de déploiement. Alternativement, vous pouvez faire en sorte que votre application apparaisse sur votre serveur de déploiement via une requête HTTP pour un fichier de configuration (renommé autre chose que .config, puisque ASP.NET bloque par défaut ces fichiers) pour la configuration mise à jour.

+0

Adam, si je devais placer un fichier nommé CustomAppSettings.xml dans l'emplacement source du serveur de déploiement ... quelle méthode est-ce que j'utilise pour obtenir ce fichier dans mon XBAP? Je le formate de la même manière qu'un fichier app.config en espérant pouvoir l'importer dans un objet de configuration et accéder directement à appSettings. Sinon, si je peux l'obtenir dans un objet xml, je peux obtenir les paires nom/valeur. Il me manque le code pour obtenir le fichier dans mon XBAP. – FarrEver

+0

Je suis sûr que vous avez accès aux API System.Deployment lors du déploiement en tant que XBAP. (Assurez-vous simplement d'ajouter une référence). Utilisez cette classe/propriété pour obtenir des informations sur le déploiement en cours et un URI à utiliser comme base pour charger votre fichier XML à partir de: System.Deployment.Application.ApplicationDeployment.Current.ActivationUri –

Questions connexes