Was ist die beste Praxis-Einstellungen in einer .NET-WinForms-Anwendung für die Speicherung, die in einer Citrix-Umgebung eingesetzt werden kann?

StackOverflow https://stackoverflow.com/questions/4143825

Frage

Ich habe eine Desktop-Anwendung, die auf dem ersten Ausführung Aufforderungen für die Verbindungsdetails in die Datenbank und dann möchte ich sie für eine spätere Verwendung behalten (als verschlüsselten Zeichenfolge), so dass das nächste Mal starten die Nutzer die App auf sie sein können wiederverwendet. Jetzt läuft der Client eine Citrix-Umgebung, die ich nicht wirklich eine Exposition musste vor und ich möchte sicherstellen, dass diese verschlüsselte Datenbank-String wird so gespeichert, dass sie für den Benutzer verfügbar ist, wo immer sie sich anmelden von - ich glaube, dass das, was ich sagen will ist, dass die Anwendung Kenntnis von dieser Einstellung in ihrem Roaming-Profil sein muss, aber das ist etwas, das ich nicht wirklich zu befürchten hatte, bevor so bin ich nur zu prüfen, ob es irgendwelche Fallstricke sind, dass ich zu sich bewusst sein.

Normalerweise ich die My.Settings Namespace in .NET verwenden Sie einfach ist, aber das geht es in dieser Umgebung zu schneiden?

Ich würde schätzen alle, die eine „best practice“ für das Speichern von Benutzereinstellungen in einer solchen Art und Weise weiß, dass ein Roaming-Benutzer nicht ihre Einstellungen in Frage gestellt werden erneut einzugeben, wenn sie in von einem neuen Standort anmelden.

Der Grund für die Einstellung der DB-Verbindung auf diese Weise ist, dass es ist ein Test und eine Live-Datenbank, dass der Benutzer zwischen (identischen Datenbanken, verschiedene Server) wechseln kann.

wäre es besser, die Live- und Testverbindungszeichenfolgen in der app.config zu speichern und den Administratoren erlauben, manuell nach der Installation zu aktualisieren und bieten dann einen Wechsel von Test zu gehen in der Benutzeroberfläche zu leben?

ich auf asp.net Websites im Allgemeinen arbeiten, wo alles so diese glücklich in den web.config lebt, ist ein bisschen einen Schritt außerhalb meiner Komfortzone. Ich kann in den Büchern schon einige Optionen sehen, aber ich frage mich, wenn jemand einen Rat hat, auf der Technik am besten für sie?

Ich verwende VB.Net 3.5 (Visual Studio 2010). Es ist ein Fenster bildet mit einer Handvoll von DLL-Bibliotheken in der Lösung projizieren, wo die eigentliche DB zugreifenden stattfindet.

War es hilfreich?

Lösung

Wie Sie bereits geschrieben, müssen Sie sicher, dass Ihre gespeicherten Einstellungen im Roaming-Teil des Profils am Ende machen. Das kann entweder die Registrierungsstruktur HKEY_CURRENT_USER oder den Ordner% APPDATA%, was Entschlüssen auf% USERPROFILE% \ AppData \ Roaming (auf Vista und neuere, sondern auch auf die länderspezifische Roaming AppData-Ordner auf älteren Betriebssystemen).

In .NET benutzerspezifischen Einstellungen können sowohl in den Roaming und lokale Teile des Benutzerprofils gespeichert werden. Um Einstellungen zu schweifen, muss die „Roaming“ Eigenschaft auf true gesetzt werden. Lesen Sie diesen Artikel für eine Erklärung und auch für die Wege erhalten die Einstellungen tatsächlich gespeichert unter:

http://www.codeproject.com/KB/vb/appsettings2005.aspx

Andere Tipps

Wenn Sie wissen, die Verbindungszeichenfolgen vorher Sie können sie in der app.config speichern und den Benutzer zu Beginn der Anwendung stellen Sie die Verbindung über ein ComboBox zum Beispiel zu wählen.

Wenn Sie die Anschlüsse nicht Strings im Voraus wissen, kann ich die folgenden Optionen denken:
1- Verwenden Sie eine Datenbank, die Sie kennen seine Verbindungszeichenfolge oder eine lokale Datenbank, SqlServerCE SDF-Datei, diese Informationen zu speichern.
2- Verwenden Benutzereinstellungen in NET zugänglich über Properties.Settings.Default.NameofSetting in C #.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top