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 Saxony, Germany - working on primedocs.io. Microsoft MVP & Web Geek.
Other Projects: KnowYourStack.com | ExpensiveMeeting | EinKofferVollerReisen.de