J'utilise Last Configuration Section Handler You'll Ever Need de Jeff Atwood, mais cela ne semble fonctionner que pour le fichier app.config par défaut. Si je voulais séparer certains paramètres dans un autre fichier, la désérialisation ne fonctionne pas, puisque ConfigurationManager.GetSection lit uniquement à partir du fichier app.config par défaut de l'application. Est-il possible de modifier le chemin du fichier de configuration par défaut ou de configurer ConfigurationManager dans un deuxième fichier de configuration?Puis-je changer le fichier de configuration par défaut?
Répondre
oui, il suffit de remplacer la section dans le fichier de configuration par défaut avec un élément XML du même nom qui a un configSource = « » attribut qui pointe vers un autre fichier ...
... Dans an App. config ou web.config ...
<configSections>
<section name="Connections"
type="BPA.AMP.Configuration.XmlConfigurator, BPA.AMP.Data.Config.DAL"/>
<section name="AutoProcessConfig"
type="BPA.AMP.Configuration.XmlConfigurator, BPA.AMP.Data.Config.DAL"/>
</configSections>
<Connections configSource="Config\Connections.config" />
<AutoProcessConfig configSource="Config\AutoProcess.config" />
et puis le xml commun, classe Configurator
public class XmlConfigurator : IConfigurationSectionHandler
{
public object Create(object parent,
object configContext, XmlNode section)
{
XPathNavigator xPN;
if (section == null || (xPN = section.CreateNavigator()) == null)
return null;
// ---------------------------------------------------------
Type sectionType = Type.GetType((string)xPN.Evaluate
("string(@configType)"));
XmlSerializer xs = new XmlSerializer(sectionType);
return xs.Deserialize(new XmlNodeReader(section));
}
}
Vous pouvez le faire manuellement, en ouvrant le document en tant que XDocument, trouver le approprié section et en passant cela à votre gestionnaire de section de configuration.
XDocument configDoc = XDocument.Load(alternateConfigFile);
var section = configDoc.Descendants("sectionName").First();
var obj = sectionHandler.Create(null, null, section);
Y a-t-il même besoin de la requête LINQ? Ne devrait-il pas renvoyer exactement les mêmes résultats que 'configDoc.Descendants (" sectionName ")' fait? – bambams
@bamccaig - artefact de quand j'ai commencé à apprendre LINQ, j'ai mis à jour. – tvanfosson
- 1. Comment puis-je changer la configuration par défaut pour WCF?
- 2. wcftestclient.exe - Modification de la configuration par défaut
- 3. Définir l'emplacement par défaut de configuration
- 4. Comment changer le navigateur Web par défaut de Visual Studio?
- 5. changer l'emplacement du fichier par défaut pour vb.net
- 6. Comment changer par défaut Droit d'auteur Modèle
- 7. Comment changer le mot de passe root MySQL par défaut?
- 8. Comment changer NLS_DATE_FORMAT par défaut pour le client Oracle jdbc
- 9. Comment changer le classement par défaut d'une table?
- 10. SingleOrDefault: Comment changer les valeurs par défaut?
- 11. Changer le fichier Enregistrer l'emplacement
- 12. Comment changer temporairement la valeur par défaut de la colonne?
- 13. WCF EntLib Validation - Changer le défaut par défaut SOAP Raison text
- 14. Comment changer les configurations de studio visuel par défaut?
- 15. Arguments VM par défaut dans la configuration de débogage Eclipse?
- 16. fichier de configuration flash
- 17. Réinitialiser la barre NSToolbar à la configuration par défaut
- 18. Modifier VWD Configuration du modèle de projet MVC par défaut
- 19. Comment changer le point de route par défaut des fichiers html statiques dans asp.net mvc
- 20. Est-il possible de changer le fichier de configuration de l'application lors de l'exécution de l'application .NET?
- 21. Emacs + Mac OSX et changer la police par défaut
- 22. Outil de configuration d'adhésion ASP.NET - Changer le mot de passe?
- 23. Visual Studio peut-il régénérer un fichier Web.config du service WCF avec la configuration par défaut?
- 24. Conventions par défaut de NHibernate par défaut
- 25. comment puis-je changer navigateur par défaut en utilisant C# ou fichier batch
- 26. Comment ouvrir un fichier avec le programme associé par défaut
- 27. changer le shell de connexion par défaut des utilisateurs sur RHEL?
- 28. Conversion de la configuration par programme du service WCF en fichier de configuration
- 29. Entités DTD dans le fichier de configuration
- 30. Configuration de log4net avec le fichier xml
Bénissez-vous, mon fils. C'est totalement et complètement badass. –
Yr totalement, comme, bienvenue, mec! –