Che cosa dovrebbe dettare quando dovrei usare configurationManager.AppSettings o le impostazioni fortemente tipizzate generate da Visual Studio? I tipi fortemente tipizzati sembrano molto più appropriati nella maggior parte dei casi, ma suppongo che sarebbe possibile aggiungere impostazioni dinamicamente a un'applicazione distribuita usando l'approccio di ConfigurationManager, ma ci sono delle linee guida in base alle quali ciascuna delle circostanze è progettata per essere utilizzata?ConfigurationManager.AppSettings ["SettingName"] vs Properties.Settings.Default.SettingName quando dovrei usare ciascuno?
risposta
Da quello che I read, sembra AppSettings è il modo più vecchio di fare le cose. MSDN docs indica che le impostazioni utente possono essere scritte in fase di esecuzione se si utilizzano le impostazioni.
Preferisco sempre le impostazioni fortemente tipizzate, che possono essere implementate con i gestori di ConfigSection.
Pros and cons of appSettings vs applicationSettings (.NET app.config)
grazie, quella domanda era quello che stavo cercando quando stavo cercando. –
La più grande differenza è che le proprietà generate sono di sola lettura, quindi il motivo principale per utilizzare AppSettings è se si desidera scriverle (che è raro).
E sì, è possibile utilizzare AppSettings per le impostazioni generate dinamicamente, ma anche questo è raro.
entrambi possono essere modificati manualmente, vuoi dire che le proprietà generate non possono essere scritte in modo programmato quando il programma è in esecuzione, ma quelle di AppSettings potrebbero (se mai lo volessi)? –
Bebop: Sì (2x) –
Vorrei suggerire che le impostazioni generiche sono più vecchie e dovrebbero essere utilizzate solo per la retrocompatibilità.
Le impostazioni fortemente tipizzate sono più robuste così come sono ... fortemente digitate.
Usa Properties.Settings.Default.SettingName. Ma ConfigurationManager.AppSettings ["SettingName"] dovrebbe essere usato solo quando prima è impossibile da usare.
spiegare in quali circostanze il primo potrebbe essere impossibile da usare? –
Se Properties.Settings.Default viene utilizzato in un altro assieme. Ad esempio se le impostazioni appartengono all'assembly MyMainApplication e utilizza MyBusinessLogicLibrary, - in questo caso MyBusinessLogicLibrary può accedere solo ai metodi 'ApplicationSettingsBase'. –
- 1. Couchbase - Quando dovrei usare N1QL vs Views?
- 2. Quando dovrei usare React.cloneElement vs this.props.children?
- 3. Quando dovrei usare questo.x vs var x?
- 4. C# Quando dovrei usare List e quando dovrei usare l'arraylist?
- 5. quando dovrei usare hstack/vstack vs append vs concatenate vs column_stack
- 6. Quando dovrei usare AQL?
- 7. Quando dovrei usare ConcurrentSkipListMap?
- 8. Quando dovrei usare CompiledQuery?
- 9. Quando dovrei usare require() e quando usare define()?
- 10. Quando dovrei usare Strong vs Debole per IBOutlets (ulteriori chiarimenti)
- 11. Quando dovrei usare l'attributo in C#?
- 12. Quando dovrei usare # in ColdFusion?
- 13. Quando dovrei usare un parser?
- 14. Quando dovrei usare l'Interface Builder?
- 15. Quando dovrei usare metodi statici?
- 16. Quando dovrei usare git stash?
- 17. Quando dovrei usare l'inizializzazione uniforme?
- 18. Best practice: attributo XML vs elemento XML - Quando dovrei usare gli elementi e quando dovrei usare gli attributi?
- 19. Persistente vs non persistente - Quale dovrei usare?
- 20. Quando dovrei usare setUpClass e quando __init__?
- 21. Char.Equals vs Object.Equals - ReSharper suggerisce che dovrei usare Object.Equals. Dovrei?
- 22. Java's Scanner vs String.split() vs StringTokenizer; quale dovrei usare?
- 23. Quando dovrei usare Sql Azure e quando dovrei usare la tabella Storage?
- 24. Quando dovrei usare Import-Package e quando dovrei usare Require-Bundle?
- 25. Quando dovrei usare Option.empty [A] e quando dovrei usare None in Scala?
- 26. HDFS vs GridFS: quando usare quale?
- 27. jquery ciascuno vs nativo per
- 28. Quando dovrei usare PowerShell su applicazioni tradizionali?
- 29. Quando dovrei usare @JoinColumn o @JoinTable?
- 30. Quando dovrei usare parentesi in knockout
Eventuali duplicati di [Pro e contro di appsettings vs ApplicationSettings (NET app.config)] (http://stackoverflow.com/questions/460935/pros-and-cons-of-appsettings-vs-applicationsettings-net -app-config) –