2011-07-13 7 views
3

J'ai créé un HTTPModule qui devrait enregistrer les résultats et les réponses.
Les paramètres qui indiquent au module http comment fonctionner dans le fichier web.config. Mais, pour permettre au module http de fonctionner avec les dernières valeurs des paramètres, à chaque requête, j'ai lu les paramètres de l'application.config.detect web.config a été modifié

Y a-t-il un moyen de détecter les changements dans le fichier web.config afin de pouvoir recharger les paramètres du module http au lieu de les lire chaque fois qu'il y a une réponse?

Répondre

7

Vous n'avez pas besoin de faire cela du tout. Vous pouvez charger ces propriétés une seule fois et les stocker quelque part. Chaque fois que le fichier web.config est modifié, votre application ASP.NET redémarre et le module http doit être initialisé à nouveau.

+1

Oui, et aussi je pense que ça ne fait pas l'analyse syntaxique du fichier web.config chaque fois que vous demandez la valeur du paramètre, mais il utilise les valeurs mises en cache (donc en gros, il n'y a pas frappé la performance à la lecture de ConfigurationManager contre mettre en cache les valeurs vous-même) – veljkoz

+0

ce n'est tout simplement pas vrai. Il y a une multitude de façons de changer web.config qui ne mettra pas fin à votre application. Je suis en train de dépanner l'une de ces situations en ce moment. –

+0

@SonicSoul: Je serai heureux de lire votre scénario. –

2

@Ladislav & @velijoz sont corrects. Le fichier web.config est lu une seule fois et les valeurs stockées en mémoire jusqu'à ce que l'application redémarre, car le fichier web.config a été modifié par exemple.

Sauf si vous ouvrez et lisez directement le fichier directement. Ce serait une mauvaise chose.

Si les paramètres changent régulièrement, vous pouvez les placer dans un autre fichier, lire les valeurs et les stocker dans le cache avec une dépendance de cache sur le fichier. De cette façon, vous pouvez modifier les paramètres sans redémarrer votre application à chaque fois. Lorsque vous modifiez le fichier de paramètres, la dépendance du cache invaliderait le cache et votre code pourrait relire le fichier.

Simon

Questions connexes