Almacenado en memoria caché en el disco no tiene ningún sentido, ya está en el disco.
En primer lugar, en ASP.NET desea asegurarse de acceder a las secciones de configuración a través del método GetSection
del objeto HttpContext (esto utiliza las copias en caché administradas por ASP.NET).
El rendimiento del acceso a los valores de configuración es una función de la implementación interna del objeto Section (el objeto devuelto por GetSection). Un ConfigurationSection
puede simplemente actuar como envoltorio para un nodo DOM que puede leer en cada solicitud de una propiedad. OTH podría almacenar internamente el valor en caché y observar los cambios.
Mi consejo sería mantener el código simple y simplemente acceder a los valores que necesita a través de GetSection
en lugar de intentar mantener copias de los mismos en otro lugar, pero por todos los medios mantener una referencia al objeto devuelto por GetSection
para la duración de una solicitud si Vas a buscar varios valores desde allí.
En el disco podría estar en una forma serializada ... bien, está bien, es una tontería, lo sé. No pensé mientras escribía eso ... :-) – splattne
Espera ... ¿estoy loco? Estoy viendo HttpContext.GetSection en el reflector RedGate, y parece que se llama ConfigurationManager.GetSection internamente, que no parece que almacena nada en caché. Por favor, avíseme si me he perdido algo. –
@Dan: no especifica qué versión está viendo, la 2.0.0.0 recurre a 'ConfigurationManager', pero en este contexto usará' CachedPathData' para obtener la sección. La razón de esto es que puede haber muchos archivos 'web.config' involucrados (uno en cada carpeta en la ruta actual), el estado real de configuración que se presentará para una ruta se compone de todos ellos. – AnthonyWJones