2010-10-11 2 views
0

Je travaille sur une application web qui dépendra fortement de la configuration. La configuration sera également écrite par un autre processus ou humain. Je cherche à obtenir une réponse sur les meilleures pratiques dans .net 3.5 sur la façon de mettre en œuvre ce cas. J'avais utilisé la section de configuration d'une version antérieure du bloc d'applications de bibliothèque d'entreprise. J'ai vraiment aimé travailler avec, mais d'après ce que j'entends, il est discontinué dans les versions actuelles. D'où la question ...application asp.net - implémentation de la configuration

Nécessité de pouvoir sérialiser collections, ramasser événement d'écriture de fichiers pour recharger nouvelle instance de configuration en mémoire.

Merci.

Répondre

0

Avez-vous regardé l'espace de noms System.Configuration? Il est relativement facile de créer des instances ConfigurationSection, ConfigurationElement et ConfigurationElementCollection. Ces 4 gars de Rolla ont blogged à ce sujet, et il y a beaucoup de tutoriels qui utilisent toute cette chose "google".

Une chose à noter cette approche est que lorsque vous apportez une modification à un web.config, l'application est automatiquement recyclé pour vous. #

MISE À JOUR Vous pouvez en effet vous séparer configuration dans séparer les fichiers .config. Vous devez toujours déclarer les <section> et <sectionGroup> éléments dans votre fichier web.config maître, mais une section de configuration qui hérite de ConfigurationSection prend en charge une propriété configSource. .: par exemple

<?xml version="1.0" encoding="UTF-8" ?> 
<configuration> 
    <configSections> 
    <section name="myConfigSection" type="..." /> 
    </configSections> 

    <myConfigSection configSource="myConfigSection.config" /> 
</configuration> 

Et vous pouvez ajouter un fichier séparé myConfigSection.config:

<?xml version="1.0" encoding="UTF-8" ?> 
<myConfigSection> 
    <someElement /> 
</myConfigSection> 
+0

Oui, j'ai regardé - il est assez simple d'écrire vos propres paramètres web.config. Tout le problème est que je voudrais garder mes paramètres dans des fichiers xml autonomes distincts. Un fichier xml par section de configuration personnalisée. Je comprends que je vais devoir écrire mon propre fournisseur pour cela ... Ne veux pas que mon application se recharge chaque fois qu'il y a un changement. – dexter

+0

J'ai mis à jour ma réponse pour inclure comment séparer vos configs en fichiers séparés. Je ne suis pas sûr de savoir comment contourner le scénario de redémarrage, c'est une fonctionnalité de conception des applications ASP.NET. –

+0

Je ne suis pas sûr à ce sujet, mais peut-être que vous pouvez ajouter un FileSystemWatcher pour surveiller les changements sur les fichiers au démarrage de l'application. – Elph

Questions connexes