01 October 2009 app.config, Config, HowTo, Konfiguration, web.config Robert Muehsig

image Das heutige HowTo behandelt ein sehr simples Thema, was mir aber bis gestern nicht bewusst war. Folgendes Problem: Ich hab eine Web Anwendung mit vielen appSettings in der web.config - wie lese ich jetzt am besten diese Daten in einer Klassenbibliothek aus?

Szenario

imageWir  haben zwei Projekte: Eine Klassenbibliothek und eine Webanwendung. Nun möchte ich in der "ReadFromConfig.cs" gerne auf die appSettings der Web.Config zugreifen, wie macht man das am einfachen?

 

 

 

 

 

Lösung des Problems

Die Lösung ist eigentlich total einfach - man verwendet einfach den ConfigurationManager.
Achtung: In einem Klassenbibliotheks-Projekt muss man die "System.Configuration.dll" mit einbinden!

    public static class ReadFromConfig
    {
        public static string Get()
        {
            return ConfigurationManager.AppSettings["ConfigKey"];
        }
    }

Über den ConfigurationManager wird automatisch auf die Web.config, welche in dem anderen Projekt ist, zugegriffen - ohne noch viel zu machen.

Welche Konfiguration nimmt .NET?

(vereinfach gesagt) Lädt .NET immer die Konfiguration der "Hauptanwendung". Ich starte das "MvcLibConfig" Projekt und .NET lädt genau diese web.config. referenzierte Projekte können dann nahtlos auf die gleiche Konfiguration zugreifen.
Mit app.Configs aus der Desktop-Welt sollte es ähnlich sein.

Simpel, oder?

imageIch war mir nicht ganz sicher ob ich das überhaupt bloggen sollte, aber da es mir bis gestern nicht klar war, dass sowas so einfach geht, wollte ich es euch nicht verschweigen.

Im Prinzip recht einleuchtend ;)

[ Download Demosource ]


Written by Robert Muehsig

Software Developer - from Dresden, Germany, now living & working in Switzerland. Microsoft MVP & Web Geek.
Other Projects: KnowYourStack.com | ExpensiveMeeting | EinKofferVollerReisen.de

If you like the content and want to support me you could buy me a beer or a coffee via Litecoin or Bitcoin - thanks for reading!