Laden...

Settings von Lokal (Internal) zu Global ändern

Erstellt von gelöschtem Konto vor 12 Jahren Letzter Beitrag vor 12 Jahren 778 Views
Gelöschter Account
vor 12 Jahren
Settings von Lokal (Internal) zu Global ändern

Hallo, ich habe hier eine bereits fertige Applikation, die neu auf einem Server laufen sollte (Vorher liefs nur unter einem Benutzerprofil). Leider wurden im Programm in den Settings viele Variablen definiert, die im Benutzerprofile gespeichert werden. Nun möchte ich das so ändern, dass die Settings von jedem, der das Programm auf dem Server-Share ausführt, geändert und für alle übernommen werden können. Gibt es dafür einen einfachen Workaround?

4 Beiträge seit 2012
vor 12 Jahren

Hey gijoe222,

Das hier ist mein erter Beitrag in diesem Forum, ich hoffe ich kann dir helfen.

Wenn du die Bereichs-Option für eine Settings-Value auf Anwendung(Global) stellst, dann kannst due diese nicht vom Programm aus speichern. Die Anwendungs-Settings werden immer wieder mit den Default-Werten geladen. Diese liegen im selben Ordner wie die Assembly, in der "AssemblyName.config". Es gibt soweit ich weis keine Möglichkeit diese Datei mit den Werten aus der Settings-Klasse zu überschreiben.

Ich würde es über die XmlSerializer - Klasse lösen. Damit kannst du ein Objekt ,bzw. alle Felder und Eigenschaften mit dem Zugrifsmodifizierer Public, Serialisieren und in einem XML-File im Programmordner speichern und wieder Laden.

Gruß stalky13

Aus großer Macht folgt große Verantwortung!

Gelöschter Account
vor 12 Jahren

Naja, das bedeutet aber eine Menge arbeit, kann ich nicht einfach für jeden User denselben Pfad festlegen?

4 Beiträge seit 2012
vor 12 Jahren

Naja, das bedeutet aber eine Menge arbeit

jepp 😭 und dazu kommt noch, dass du die Eigenschaften und Felder einer eigenen Settings-Klasse nich auf Propertys in einem Win-Form Control verschalten kannst.

kann ich nicht einfach für jeden User denselben Pfad festlegen?

Ja, ich hab Creating a Custom Settings Provider gefunden. Das Prinzip is einen eigenen SettingsProvider zu schreiben, der die Einstellungen verwaltet. Danach muss die Eigenschaft "Provider" jeder einzelnen Settings-Variable von "" auf den Namen deiner SettingsProvider-Klasse gesetzt werden.

Ich hab mir den Code aus dem Link aber noch nicht genau angesehen. Evtl. musst du ihn für dein vorhaben noch anpassen.

Aus großer Macht folgt große Verantwortung!