Verzeihen Sie meine Ignoranz, aber ich habe nie wirklich Windows-Anwendungen entwickelt. Wie speichern Sie Benutzereinstellungen? Ist eine eingebettete Datenbank die bevorzugte Methode?Was ist die bevorzugte Methode zum Speichern von Benutzereinstellungen in einer .NET-Windows-Anwendung?
Antwort
Ich glaube, Sie suchen user settings:
Das .NET Framework 2.0 Sie Werte schaffen und den Zugang ermöglicht, die zwischen Anwendung Ausführung Sitzungen beibehalten. Diese Werte sind genannte Einstellungen. Einstellungen können Benutzerpräferenzen darstellen, oder wertvolle Informationen, die die Anwendung verwenden muss. Sie könnten beispielsweise eine Reihe von Einstellungen erstellen, die Benutzereinstellungen für das Farbschema einer Anwendung speichern. Oder Sie speichern die Verbindungszeichenfolge, die eine -Datenbank angibt, die Ihre Anwendung verwendet. Einstellungen können Sie beide Informationen beibehalten, die für die Anwendung außerhalb des Codes kritisch ist, und , um Profile zu erstellen, die die Voreinstellungen der einzelnen Benutzer speichern.
Es hängt davon ab, welche Art von Einstellungen. Es gibt eine Vielzahl von Methoden von eingebetteten Datenbanken (wie SQLite) über XML-Dateien bis hin zur Registry.
- Wenn die Einstellungen sehr wenige sind, macht die Registrierung oft Sinn.
- Wenn die Einstellungen komplizierter sind und manuell bearbeitet werden müssen, können Sie XML-Dateien oder JSON verwenden.
- Wenn die Einstellungen komplex sind und keine manuelle Bearbeitung erfordern, ist eine eingebettete Datenbank wie SQLite, .NetBtree oder BerkelyDB .NET eine gute Wahl.
Eine weitere Überlegung ist Versionierung; Jede reale Anwendung erhält mehr Einstellungen, wenn sie sich weiterentwickelt.Ältere Versionen der Anwendung sollten neuere Versionen der Einstellungen tolerieren (neue hinzugefügte Einstellungen ignorieren) und neuere Versionen der Anwendung sollten ältere Versionen der Einstellungsdatei tolerieren (mit sinnvollen Standardeinstellungen für die fehlenden Parameter) –
Es hängt alles davon ab, welche Größe einer Anwendung Sie erstellen. Wenn Sie etwas Einfaches haben, sagen wir "Familieneinkaufsliste", können Sie die Einstellungen in einer guten alten Nur-Text-Datei speichern.
Wenn Sie etwas größeres bauen, zum Beispiel einen "Classmate Notifier", können Sie eine XML-Datei oder eine andere Ressource verwenden.
Für jede größere Anwendung sollten Sie eine Art relationale Datenbank verwenden, um Benutzerdaten zu speichern.
Wie von anderen, .NET 2.0 Einstellungen sind noch einfacher als eine Textdatei, da es keine rechte Hand für die linke Hand gibt. – Nate
Verwenden Sie Blanes Pegasus-Bibliothek (http://pegasus.codeplex.com/).
Sie könnten seine XmlSerializationHelper-Klasse verwenden, die es ein Kinderspiel macht, Objekte in XML umzuwandeln und umgekehrt.
Oder Sie könnten Isolated Storage verwenden (ich würde einen Link zu MSDN bereitstellen, wenn ich kein neuer Benutzer wäre und auf einen Hyperlink pro Post beschränkt wäre). Wenn Sie IsolatedStorage verwenden, sollten Sie die IsolatedStorageHashtable-Klasse von Blane verwenden.
@Mike: Sein Zeug ist gut, aber ich möchte nicht wirklich externe Abhängigkeiten für etwas so baisc übernehmen. Danke tho. –
- 1. Was ist die bevorzugte Methode zur Implementierung von hashCode()?
- 2. Schienen: Best Practice zum Speichern von Benutzereinstellungen?
- 3. Was ist die beste Methode zum Speichern/Berechnen von Benutzerbewertungen?
- 4. Was ist die bevorzugte Methode zum Erstellen von Objekten in C#? Konstruktorparameter oder Eigenschaften?
- 5. Was ist die bevorzugte Methode zum Laden von STL-Dateien in Three.js
- 6. Was ist die bevorzugte Methode zum Hochladen von Artefakten in Artifactory?
- 7. Was ist die bevorzugte Methode für ein aktualisiertes Feld in einer Tabelle?
- 8. Was ist die bevorzugte oder akzeptierte Methode zum Testen von Proxy-Einstellungen?
- 9. Speichern sehr feinkörniger Benutzereinstellungen
- 10. Was ist die effizienteste Methode zum Speichern von Objekten in einer SQLCe-Datenbank?
- 11. Was ist Ihre bevorzugte Methode zum Verschieben von Verzeichnisstrukturen in Subversion?
- 12. Was ist der bevorzugte Weg, um verschiedene Datenversionen zu speichern?
- 13. Was ist die bevorzugte Methode zum Ausführen nicht blockierender E/A in Ruby?
- 14. Was ist die bevorzugte Methode zum Drucken auf einen Drucker in VB.NET?
- 15. Was ist die bevorzugte Methode zum Angeben eines HTTP-Headers "Location" in Spring MVC 3?
- 16. Was ist die bevorzugte Methode zum Erzeugen starker Passwörter mit bash?
- 17. Speichern von Benutzereinstellungen in popup.html Chrome-Erweiterung
- 18. Bevorzugte Methode zum Indexieren von Massendaten in ElasticSearch?
- 19. Bevorzugte Methode zum Leeren von multiprocessing.queue (-1) in Python
- 20. Benutzereinstellungen in Tabelle speichern - wie?
- 21. Bevorzugte Methode zum Parsen einer benutzerdefinierten binären Flat-Datei?
- 22. Was ist die beste Django-Profil/Benutzereinstellungen Anwendung?
- 23. Die beste Methode zum Speichern von Dateien
- 24. Was ist die richtige Methode zum Speichern von persistenten Variablen in Ember RESTAdapter
- 25. Was ist die sicherste Methode zum Hochladen einer Datei?
- 26. In Python ist die bevorzugte Methode zum Erstellen und Verwalten von Threads?
- 27. Was ist die pythischste Methode zum Angeben einer Konfigurationsdatei?
- 28. Was ist die beste Methode zum Speichern von SASS generierten CSS in Ihrer Anwendung und Quellcodeverwaltung?
- 29. Was ist die bevorzugte Methode für das Marshalling von COM-Schnittstellen über Threads hinweg?
- 30. Ist ein Zeiger auf ein C++ - Objekt die bevorzugte Methode zum Aufrufen einer statischen Elementfunktion?
Dies [SO Frage antwortet] (http://stackoverflow.com/questions/26369/what-ist-best-way-to-store-user-settings-for-a-net-application) es ziemlich Gut. –