2012-04-26 10 views
9

Tengo un servicio alojado C# WCF que crea más de 20 puntos finales para varios propósitos. Cada uno está configurado en el código mismo con algunos elementos básicos de configuración en el app.config del servicio, como el puerto y la dirección. El servicio funciona muy bien para los clientes probados, pero no ha sido ampliamente probado.Pros y contras de wcf config file vs en el código config

Estaba un poco escéptico con respecto al método estándar de archivo de configuración wcf porque temía que el usuario final arruinara las cosas y, por lo tanto, hiciera todo en el código.

¿Es una mejor idea hacer la configuración en el archivo de configuración porque el usuario final podría personalizarla según sus necesidades o el enfoque en código es suficiente para la mayoría de las necesidades?

+0

Realmente me gustaría una respuesta definitiva a esta pregunta, pero estoy tentado de sugerir que es un poco abierto para eso. Sin embargo, me interesan las opiniones sobre el tema. – Jodrell

Respuesta

5

Uno de los principales beneficios de WCF es la abstracción de los detalles de conexión fuera del código. Si necesita cambiar alguno de los parámetros del servicio, puede hacerlo desde el archivo web.config más fácilmente y sin necesidad de volver a compilar. Es posible que necesite cambiar el "puerto y dirección", por ejemplo. Si está haciendo esto desde dentro del código, debería reconstruir, lo que puede ser poco práctico. Además, no estoy seguro de por qué el usuario final estaría jugando con la web.config normalmente, a menos que sea realmente necesario.

En resumen, a menos que tenga una buena razón para no usar los archivos de configuración, probablemente debería usarlos para obtener el máximo beneficio de la abstracción que ofrece WCF.

3

Es necesario hacerse algunas preguntas

  • hacer diferentes desarrolladores tienen valores diferentes en su máquina?
  • ¿alguien más que no trabaje con la C# tiene que cambiar estos valores de configuración? (por ejemplo, un administrador)
  • ¿Se deben ajustar ciertos valores (por ejemplo, el tamaño del mensaje) para un rendimiento posterior?

Si la respuesta es sí a cualquiera de esas preguntas, entonces necesita mover la configuración a un archivo .config. Si le preocupa que los clientes que entienden otras configuraciones vayan a estropear su configuración de wcf por accidente, siempre puede separar la configuración agregando el atributo configSource a su archivo web.config o app.config para cada etiqueta y poner partes de su configuración en archivos separados en un subdirectorio para reducir la probabilidad de un cambio accidental.

0

Simplemente,

Si utiliza el archivo .config entonces usted será capaz de alterar la configuración después de que el código se compila. Esto puede ser bueno o malo, dependiendo de tu situación.

Cuestiones relacionadas