Properties.Settings.Default
Una tecnica comune per la memorizzazione dello stato dell'applicazione tra le esecuzioni è quello di scrivere su disco. Esistono molti approcci per farlo e Microsoft è entrato nel gioco introducendo le classi nello spazio dei nomi System.Configuration per aiutare gli utenti a gestire il salvataggio dello stato dell'applicazione (impostazioni).
Properties.Settings.Default
è un'istanza statica di una classe che deriva da ApplicationSettingBase che gestisce la lettura e la scrittura delle impostazioni su disco. Le proprietà contrassegnate con l'attributo [UserScopedSetting]
vengono salvate in un file XML in C: \ Users \ user \ AppData \ Local \ ComapnyName \ Hashed_AppName \ versione che può essere letta e scritta dall'utente. Le proposte taggate con l'attributo [ApplicationScopedSetting]
vengono salvate nel file app.config e possono essere solo lette.
un file di impostazioni di base simile a questa:
class FormSettings : ApplicationSettingsBase
{
public WindowSettings() {}
public WindowSettings(string settingsKey) : base(settingsKey) {}
[UserScopedSettingAttribute()]
[DefaultSettingValueAttribute("MyDefaultName")]
public String Name
{
get { return (string)(this["Name"]); }
set { this["Name"] = value; }
}
}
È possibile impostare i valori in Properties.Settings.Default
sia nell'interfaccia utente, nell'ambito del Progetto Proprietà-> Impostazioni o programattically via Properties.Settings.Default
.
Registro
Il registro è un database gerarchico che memorizza le impostazioni di configurazione e le opzioni e memorizza questi loro come coppie di valori fondamentali. Vedere Wikipedia per ulteriori informazioni.
È possibile accedere al registro tramite la classe statica Microsoft.Win32.Registry che consente di leggere e scrivere valori. Ad esempio:
public class RegistryExample
{
public static void Main()
{
const string rootUser = "HKEY_CURRENT_USER";
const string subkey = "RegistryExample";
const string keyName = String.Format("{0}\\{1}, userRoot, subkey);
Registry.SetValue(keyName, "MyRegistryValue", 1234);
}
}
Vedere la pagina di documentazione MSDN per esempi. Come altri hanno già detto, ci sono pro e contro nell'uso del registro, ma penso che valga la pena affermare che il registro è una posizione "sicura" e che gli utenti avranno bisogno dell'autorizzazione per leggere una scrittura da esso dove come un file di impostazioni non richiede quelle autorizzazioni.
fonte
2013-04-02 13:56:13
Potremmo stabilire un requisito in cui, per contrassegnare una domanda come duplicato, è necessario selezionare la domanda che duplica in modo che possa essere collegata qui? È estremamente frustrante tornare alla ricerca e ricordare quali domande sono state duplicate quando si cerca di trovare quello che non lo è. – jvance