Configuration nur für DLL

08/09/2007 - 08:54 von Hahnl Josef | Report spam
Zuerst vorweg mal ein großes LOB an dieses Forum, insbesondere an Frank und
die anderen MVP's: Hier wird tolle Unterstützung geboten!!

Meine Frage: Wie kann man nur für eine DLL (also außerhalb jeder
Endanwendung) ein "ApplicationScopedSettings" und ein "UserScopedSettings"
am sinnvollsten und zukunftssichersten implementieren? Die DLL muss die .Net
Configuration selbstàndig auswerten.

Alle von mir im Netz gefundenen Lösungen arbeiten meist mit direktem Lesen
oder Schreiben der XML Datei (meist auch noch ohne Überprüfung der Rechte).
Gibt es da wirklich keine anderen Ansàtze?

Wie wàre Euer Lösungsansatz?

Weitere Hintergrunddetails: Ich habe eine C# DLL, die als "Server" für
verschiedenste C# Windows-Anwedungen im Einsatz ist. Im Laufe der Zeit und
durch die verschiedenen Anforderungen der Endanwendungen wurde die DLL über
eine eigene selbstentwickelte Config-Lösung konfigurierbar gemacht.
Einerseits gibt es ca. ein Dutzend "ApplicationScopedSettings" und ca. 40
"UserScopedSettings", aber alles wie gesagt alles selbst gestrickt.

Im Zuge eines Refactorings möchten wir nun die selbstgestrickte Lösung für
diese "Kern-DLL" durch das zukunftssichere System der Net Configuration
ersetzen.

Danke für Eure Ideen und Eure Unterstützung!

Beste Grüße
Josef
 

Lesen sie die antworten

#1 Frank Dzaebel
09/09/2007 - 19:39 | Warnen spam
Hallo Josef,

Danke für Dein Lob :-)

Meine Frage: Wie kann man nur für eine DLL (also außerhalb jeder
Endanwendung) ein "ApplicationScopedSettings" und ein "UserScopedSettings"
am sinnvollsten und zukunftssichersten implementieren? Die DLL muss die
.Net Configuration selbstàndig auswerten.



Ja, welche da genau?

- Sie kann z.B. eine eigene Konfiguration haben, die normal
im Verzeichnis der DLL liegt und die Du ja ganz normal
innerhalb der DLL über Properties.Settings.Default.* abfragst.

- Sie kann ggf. zusàtzlich über den Aufrufer konfiguriert
werden. Dann über die Konstruktionen:

Configuration appConfig = ConfigurationManager.
OpenExeConfiguration(ConfigurationUserLevel.None);
// AppDomain.CurrentDomain.SetupInformation.ConfigurationFile

Configuration userConfig = ConfigurationManager.
OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);

[Configuration Files for Class Library Projects]
http://www.codeproject.com/useritem...ionMgr.asp



Alle von mir im Netz gefundenen Lösungen arbeiten meist mit direktem Lesen
oder Schreiben der XML Datei (meist auch noch ohne Überprüfung der
Rechte).



Ja, gerade, wenn man Applikationen ohne Admin-Rechte
schreibt (schreiben will), sollte man das vermeiden.
Aber letztlich musst Du die Konfig-Datei schon mindestens lesen.

[Three Config File Reading Examples]
http://weblogs.asp.net/vblasberg/ar...28738.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen