2011-02-24 11 views
6

Mi empresa tiene una aplicación que almacena un valor programáticamente en el archivo web.config. El archivo web.config se actualiza aproximadamente una vez cada cinco minutos.¿Por qué es una mala idea guardar datos dinámicos en web.config?

mensajes James Curran que es una mala idea para modificar web.config mediante programación en esta respuesta Dynamically change connectionString in web.config pero no explica por qué es una mala idea.

Estoy buscando razones para convencer a mi jefe de que no almacene datos dinámicos en el archivo web.config. Los enlaces a buenos artículos serían especialmente apreciados.

Respuesta

10

La aplicación se reinicia cada vez que modifica web.config, para empezar.

+4

esta es realmente la única razón que necesita. – jonezy

+1

con lo que estoy luchando es, incluso si no fuera así, ¿por qué esto sería bueno? ¿por qué no simplemente usar otro archivo, si debe almacenar datos en el sistema de archivos por alguna razón? –

+0

El motivo por el que se utiliza web.config para almacenar datos es porque .Net lo hace muy fácil. –

4

Es una mala idea, porque cada vez que modifique el archivo de configuración, la aplicación web se reiniciará. Además, si está utilizando un proyecto de "sitio web", también se compilará cada vez que modifique la configuración. Por lo tanto, tendrá problemas de rendimiento y responsabilidad. Tu jefe probablemente no quiera eso :)

1

Además del reinicio de la aplicación, tienes varios valores relacionados con la seguridad almacenados en tu archivo Web.config. Su aplicación ni siquiera debería tener permisos de escritura para ese archivo.

0

El principal riesgo es permitir que los archivos de la carpeta raíz o los archivos * .config puedan escribirse en el proceso del servidor web. Parecería una falla importante de seguridad.

Lo que podría hacer es modificar periódicamente el archivo web.config si el usuario que posee esta tarea no tiene acceso de escritura al servidor web.

Cuestiones relacionadas