Pregunta

He leído muchas declaraciones como "no deberías obstruir tu archivo app.config con configuraciones personalizadas".Sin embargo, tenía la impresión de que ese era exactamente el propósito del archivo.

¿Es simplemente una cuestión de preferencia?¿O existen beneficios reales (aparte de la separación de configuraciones) al usar un archivo XML personalizado, a diferencia del archivo app.config?Si necesita separar explícitamente las configuraciones, ¿sería mejor utilizar una configuración personalizada? ConfigurationSection ¿En lugar de optar por un archivo XML personalizado?

Me gustaría conocer las opiniones de otras personas sobre esto.

¿Fue útil?

Solución

Algunas personas tienden a ir un poco por la borda en la sección de los gestores de configuración personalizada, en mi humilde opinión.

Me tienden a usarlos sólo cuando necesito algo que es muy structed; y que se utiliza / escrito por 3 partes (es decir, quiero hacer una validación extravagante en él).

Creo que se puede utilizar absolutamente feliz app.config / web.config para todos los ajustes pertinentes, y utilizar archivos XML cuando está muy claro que es un componente independiente de la aplicación.

Otros consejos

Tener un vistazo a la aplicación Ajustes Arquitectura , la aplicación. config es para Configration con respecto a la aplicación, eso es un término bastante general, sin embargo .. así que yo sugeriría que usted mira en los archivos de Configuración de la aplicación.

No me almacenar la configuración como "base de datos de carga en el arranque o no" en el app.config. Yo prefiero utilizar un almacenamiento alternativo como Configuración de la aplicación de este, no hay que confundir con la configuración de la aplicación Ajustes, a pesar de que es posible que desee hacer eso, no lo hacen. app.config se supone que tiene configration respecto a cosas de nivel inferior como la conexión de base de datos, proveedor de suscripciones o cualquier otra información de la Crítica de la aplicación.

La mayoría de los ajustes tienden a caer en uno de los tres campos:

  1. ajustes técnicos que afectan el comportamiento interno del código, por ejemplo, cadena de conexión de base de datos, la ruta del archivo de datos, registro de interruptores, conmutadores de control de errores, etc.
  2. Configuración
  3. comerciales que afectan a la lógica de negocio del producto, por ejemplo, "Son los usuarios autorizados a acceder al módulo de CRM?"
  4. valores de perfil específicos del usuario, por ejemplo, "Es permitido a este usuario para acceder al módulo de CRM?".

El lugar natural para el tipo 1 se encuentra en app.config o web.config, y el lugar natural para los tipos 2 y 3 se encuentra en la base de datos.

app.config son buenos para la configuración que son aplicación específica: ruta de acceso a la base de datos es un buen ejemplo. El resto debe estar fuera de ella.

Una cosa es posible que desee hacer es crear archivos específicos del usuario, a continuación, puede utilizar XML personalizado que se guardará en un IsolatedStore.

En mi opinión considero app.config a ser bueno para la configuración de tiempo de implementación, tales como la ubicación de la base de datos, o una dirección IP o la ubicación del archivo de datos críticos, etc. Configuración de usuario, como las preferencias de fuente, color, comportamiento debe ir en un archivo diferente que se puede crear fácilmente y guardar con la serialización XML.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top