Wo Lagere ich meine Anwendungsdaten?
Habe ich eine Anwendung, um Daten zu speichern. Derzeit bin ich mit dem built-in-Anwendung Einstellungen zu tun, aber es nur gibt mir zwei Möglichkeiten: - Anwendung und Benutzer Bereiche. Im Idealfall, ich will einen "lokalen" Bereich, der die Ausführung der Anwendung ermöglicht, die unter einem anderen user und finden trotzdem Ihre Daten, anstatt es neu für diesen Benutzer. Der Anwendungsbereich kann dies tun, aber es ist nur Lesen. Die Anwendung die Daten werden durch den Benutzer geändert werden. Es ist OK, wenn nur der administrator änderungen an den Daten.
Wie Sie wahrscheinlich erraten kann, habe ich ein Administrations-tool, das dem Benutzer ermöglicht, die Daten ändern und die windows-service-Läufer, liest die Daten und macht etwas mit ihm. Es wäre toll, wenn der windows-Dienst runner den Zugriff auf die Daten erstellt, die von der Verwaltung tool.
- Welche Art von Daten Sie speichern? Benutzer-Präferenzen, etc oder Daten von der Anwendung verwendet?
- Ich bin die Speicherung unglaublich einfache Daten. Es wird fast nie eine situation, wo es mehr als 10 Objekte gespeichert. Die Daten sind in der task-Einstellungen (z.B. name, Verzeichnis, plugin, etc.) ausgeführt werden in einem service, der es außerhalb meiner admin-tool. Es ist zwingend notwendig, dass der service können Sie diese Informationen finden können. Einstellungen wären ideal, aber der Zugriff über den service so wie es scheint, wird schwierig sein. Wie kann ich dies tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Daten sehr, sehr einfach, und Sie müssen es gelesen werden von anderen Anwendungen oder Benutzer (mit entsprechenden Berechtigungen), würde ich wahrscheinlich wählen, um es zu speichern in eine XML-Datei oder auch eine nur-text-Datei im user ' s Application Data Ordner, das wäre die über
Environment.GetFolderPath
. Ein Beispiel für die Rettung Aussehen könnte:Das ist es, Einstellungen gespeichert! Sie können laden Sie Sie wieder mit
XDocument.Load
.XmlSerializer
Klasse undSystem.Xml.Serialization
namespace. Sie können diese verwenden, um eine Klasse, Struktur und "automatisch" serialisieren zu/von XML. Sie auf jeden Fall nicht machen dieses Teil der tatsächlichenSettings
Objekt; wenn Sie wollen, verwenden Sie dieSettings
dann verwenden Sie dieSettings
. Wenn Sie nur wollen, es zu sein, ein singleton-Objekt wieProperties.Settings.Default
haben, dann ist das möglich, aber man müsste zur Umsetzung der Muster selbst.Klingt wie Sie wollen, um es zu speichern in einer Datenbank, die Frage ist, lokal oder auf einem Netzwerk oder nicht. Die Antwort hängt auch davon ab, welche Art von Daten Sie speichern, wie Sie Ihre app verteilt wird, und anderen Faktoren.
Oh, und BTW wir könnten Ihnen helfen, die Art und Weise besser, wenn Sie angeben, Ihre Plattform (vorzugsweise mit einem tag)--silverlight, wpf, winforms, asp.net, Konsole, etc.