2009-07-21 8 views
1

J'ai une section de configuration personnalisée dans le fichier web.config. Je suis persistante entre:Mise en cache automatique web.config

  1. lecture dans la classe statique chaque fois que je besoin de valeur de configuration (parce que je suppose que ce système met en cache déjà des fichiers quand je les ouvre (par exemple quand je lance la Parole, il prend plus de temps le premier Lecture en classe statique et mise en cache en utilisant Application.Cache avec dépendance de fichier et en utilisant des données en cache - je suppose que ce serait un peu plus rapide de cette façon, mais cela en vaut la peine.

Que pensez-vous de fichier automatique (à l'ouverture) mise en cache ...

Répondre

8

Ecrire une section de configuration personnalisée et utiliser ConfigurationManager.GetSection

.NET prend en charge la mise en cache et ce à chaque fois que le fichier invalident web.config est modifié.

+1

+1 Merci pour la confirmation de cela. –

+0

très bien, je me demandais à ce sujet – tanathos

2

AFAIK, les fichiers de configuration sont déjà mises en cache en mémoire tant lorsque le System.Configuration.ConfigurationManager est utilisé.

est une des raisons pour lesquelles la modification d'un web.config/app.config nécessite un redémarrage de l'application pour ramasser change

3

valeurs de lecture de web.config est très, très rapide. Le ConfigurationManager est hautement optimisé à cet effet. Si vite que le stockage de la valeur dans Session, Cache, etc. n'a presque aucun gain. Cependant, si vous stockez un paramètre dans web.config, changer la valeur redémarre l'application mais l'ancienne valeur mise en cache sera toujours présente si vous avez utilisé le Cache ... alors non. Lisez simplement la valeur de web.config quand vous en avez besoin; Sur un ordinateur portable standard, je peux lire un paramètre web.config plus de 600 000 fois par seconde sans problème.

+1

bien pas exactement. Si l'application est redémarrée, les valeurs de cache sont également "supprimées" lorsque l'application se ferme. –