Ho alcune domande su due modi per salvare le impostazioni in web.config.appSettings vs applicationSettings. appSettings obsoleti?
appSettings: Cerca in web.config
<appSettings>
<add key="key1" value="value1"/>
<add key="key2" value="value2"/>
</appSettings>
Utilizzo in code-behind:
ConfigurationManager.AppSettings["key1"];
ApplicationSettings/Proprietà (generati automaticamente utilizzando la 'scheda-properties' nel progetto)
Look in web.config
<applicationSettings>
<Projectname.Properties.Settings>
<setting name="TestEnvironment" serializeAs="String">
<value>True</value>
</setting>
</Projectname.Properties.Settings>
</applicationSettings>
Utilizzo in code-behind:
Properties.Settings.Default.TestEnvironment
Quindi, qual è la differenza tra questi due stoccaggio possibilità di impostazioni nel web.config?
Per quanto posso vedere, uno svantaggio dell'appSettings è che tu stesso hai modificato il web.config e le appSettings non sono state digitate, dove sono le impostazioni dell'applicazione.
Entrambi sono sostituibili all'interno di un progetto di distribuzione Web.
Per quanto mi riguarda, non è possibile utilizzare per appSettings. Mi sto perdendo qualcosa qui? Qual è il più vecchio storicamente visto?
Grazie per queste informazioni! Ho letto su internet per trovare questa risposta. – Germstorm
Grazie per questa risposta. Mi stavo chiedendo perché non posso accedere alle cose memorizzate in ApplicationSettings in una vista usando ASP.NET MVC. – user850010
Sembra che le librerie dll possano accedere alle appSettings del valore-chiave vecchio stile nel file di configurazione principale, ma non le più recenti ApplicationSettings fortemente tipizzate. Se vuoi mantenere tutti i tuoi parametri di configurazione (sia per l'app che per le sue librerie) fortemente digitati e in un unico posto, devi passare le esigenze delle librerie tramite proprietà o costruttori. Se hai una classe di libreria statica, ad es. uno che invia e-mail e ha molti parametri di configurazione, è più facile passarli una volta usando il vecchio blocco appSettings. IMHO ... –