¿Qué debería dictar cuándo debo usar ConfigurationManager.AppSettings o la configuración fuertemente tipada que genera visual studio? Los fuertemente tipados parecen mucho más apropiados en la mayoría de los casos, pero supongo que sería posible agregar configuraciones dinámicamente a una aplicación implementada usando el enfoque de ConfigurationManager, pero ¿hay alguna guía bajo qué circunstancias cada una está diseñada para ser utilizada?ConfigurationManager.AppSettings ["SettingName"] vs Properties.Settings.Default.SettingName ¿cuándo debería usar cada uno?
Respuesta
De lo que I read, parece que AppSettings es la forma más antigua de hacer las cosas. MSDN docs indica que la configuración del usuario se puede escribir en tiempo de ejecución si está utilizando la configuración.
Siempre prefiero configuraciones fuertemente tipadas, que se pueden implementar con controladores ConfigSection.
Pros and cons of appSettings vs applicationSettings (.NET app.config)
gracias, esa pregunta era lo que estaba buscando cuando estaba buscando. –
La mayor diferencia es que las propiedades generadas son de solo lectura, por lo que la razón principal para usar AppSettings es si desea escribirlas (lo cual es raro).
Y sí, podría usar AppSettings para configuraciones generadas dinámicamente, pero eso también es raro.
ambos pueden modificarse manualmente, ¿quiere decir que las propiedades generadas no pueden escribirse programáticamente cuando el programa se está ejecutando, pero las de AppSettings podrían (si alguna vez lo deseaba)? –
Bebop: Sí (2x) –
Aconsejo que las configuraciones de escritura libre son más antiguas y que solo deberían usarse para compatibilidad con versiones anteriores.
La configuración fuertemente tipada es más robusta, ya que están ... fuertemente tipadas.
Uso Properties.Settings.Default.SettingName. Pero ConfigurationManager.AppSettings ["SettingName"] debería usarse solo cuando el primero es imposible de usar.
por favor explique en qué circunstancias el primero podría ser imposible de usar? –
If Properties.Settings.Default se usa en otro ensamblado. Por ejemplo, si los ajustes pertenecen al ensamblaje MyMainApplication y usa MyBusinessLogicLibrary, en este caso MyBusinessLogicLibrary solo puede acceder a los métodos 'ApplicationSettingsBase'. –
- 1. ¿Cuándo debería usar make_heap vs. Priority Queue?
- 2. ¿Cuándo debería usar === vs ==,! == vs! =, Etc. en javascript?
- 3. ¿Cuándo debería usar TCP_NODELAY y cuándo TCP_CORK?
- 4. ¿Cuándo debería usar cada uno de los diferentes tipos de mensajes de Android?
- 5. ¿Cuándo debería usar _aligned_malloc()?
- 6. ¿Cuándo debería usar GC.SuppressFinalize()?
- 7. ¿Cuándo debería usar CompiledQuery?
- 8. ¿Cuándo debería usar semáforos?
- 9. ¿Cuándo debería usar ConcurrentSkipListMap?
- 10. Cuándo debería usar SynchronousQueue
- 11. En Objective-C, ¿cuándo debería usar métodos de clase y cuándo debería usar métodos de instancia?
- 12. ¿Cuándo debería usar # en ColdFusion?
- 13. ¿Cuándo debería usar git add?
- 14. ¿Cuándo debería usar html5 sessionStorage?
- 15. ¿Cuándo querría uno usar OneTuple?
- 16. Cuándo usar Ruby vs Cuándo usar PHP
- 17. ¿Cuándo debería usar Silverlight y cuándo XNA?
- 18. ¿Cuándo debería usar doctrine ORM y cuándo zend-db-table?
- 19. ¿Cuándo debería usar el atributo en C#?
- 20. ¿Cuándo debería usar marcos HTML?
- 21. ¿Cuándo debería usar los parámetros?
- 22. ¿Cuándo debería usar un analizador?
- 23. C#: ¿Cuándo debería usar TryParse?
- 24. ¿Cuándo debería usar require() y cuándo usar define()?
- 25. ¿Cuándo debería usar stdClass y cuándo debería usar una matriz en php oo?
- 26. Cuándo usar strtr vs str_replace?
- 27. https vs ssl- cuándo usar lo que
- 28. ¿Cuándo debería usar Page.DataBind() versus Control.DataBind()?
- 29. ¿Cuándo usar Literal vs LiteralControl?
- 30. HDFS vs GridFS: ¿Cuándo usar qué?
Posible duplicado de [Ventajas y desventajas de las configuraciones de la aplicación frente a la configuración de la aplicación (.NET app.config)] (http://stackoverflow.com/questions/460935/pros-and-cons-of-appsettings-vs-applicationsettings-net -app-config) –