Also ich hole die Werte durchaus auch direkt aus der web.config (�ber eine Wrapper-Klasse wie die beschriebene, nur ohne den Application-Teil). Es kommt sicher auch auf die Anwendung an. Vor allem in high-load-Umgabungen kann ich mir vorstellen, dass der Zugriff auf die application schneller ist, aber das k�me auf einen Versuch an. Die web.config muss halt aus dem FS geladen werden und dann muss noch ein XML-Parser dr�ber. Es kann auch sein, dass dies bei der Implementierung von ASP.NET ber�cksichtigt wurde und die web.config by default gecachet wird, aber offensichtlich kommt es schon mal zu Problemen siehe erste Nachricht in diesem Thread.
Die Klasse von mir sollte halt zeigen, wie man das elegant �ber die Application macht und das late binding soll verhindern, dass man nicht am Anfang der App einen Block braucht, der stumpf Werte in die Application kopiert, obwohl diese vielleicht nie oder nur �u�erst selten gebraucht werden. Gru� Markus -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Matt Gesendet: Mittwoch, 26. November 2003 12:17 An: [EMAIL PROTECTED] Betreff: Re: [Asp.net] ConfigurationSettings Ich habe mal eine bl�de Frage zu den eigenen Configuration Werten in der Web.config. Wie ist das denn mit Late und Early Bindung dabei. Ich habe immer gedacht, dass die Werte jedesmal dynamisch aus der Web.config geholt werden, also auch late binding zur Laufzeit vorliegt. Bisher hatte ich auch nie Probleme damit. Komme nat�rlich ans Nachdenken wenn so viele das anders machen.... ----- Original Message ----- From: "Markus Renschler" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, November 26, 2003 11:59 AM Subject: AW: [Asp.net] ConfigurationSettings Hallo Tobias, mach es doch so: Erstelle eine Klasse, �ber die du seine konfigwerte abrufst: internal class Configuration { public static string ConnectString { get { return GetConfigValue("ConnectString"); } } public static string SmtpRelay { get { return GetConfigValue("SmtpRelay"); } } private string LoadConfigValue(string nameInWebConfig) { private string nameInApplication = "Config" + nameOfValue; if( Application[nameInApplication ] != null ) { Application[nameInApplication ] = ConfigurationSettings.AppSettings[nameInWebConfig]; } return Application[nameInApplication].ToString(); } } Damit hast du einen super-getypten Zugriff auf die Config-Werte, indem du schreibst: SqlConnection cn = new SqlConnection(Configuration.ConnectString); und au�erdem ein "late Binding". Wenn diese Klasse einen Wert in die Application schreibt, setzt sie das Prefix "Config" davor, um m�glichst nicht mit anderen Application-Benutzern zu kollidieren. Ich hab die Zeilen nur so runtergetippt und nicht getestet, aber so ungef�hr d�rfte das klappen. Gru� Markus -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Tobias Traguth Gesendet: Mittwoch, 26. November 2003 08:50 An: [EMAIL PROTECTED] Betreff: [Asp.net] ConfigurationSettings Hi Liste beim Auslesen von Werten aus der Web.config, die ich im Abschnitt <AppSettings> selbst hinzugef�gt habe, kommt es in letzter Zeit h�ufiger zu Lesefehlern. :-( Der WErt ist dann einfach nicht da bzw. es kommt eine Fehlermeldung. Nach einem F5 geht's dann wieder... Ist es geschickter, wenn man solche Werte initial einmal ausliest und dann in eine Application Variable speichert? Greift er eigentlich bei beim Zugriff mit ConfigurationSettings.AppSettings["wert"] immer auf die web.config Datei auf der Platte zu oder wird ein einmal ausgelesener Wert gecached? Danke f�r Eure Hilfe! Gru� aus Karlsruhe Tobias :-) _______________________________________________ Asp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net _______________________________________________ Asp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net _______________________________________________ Asp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net _______________________________________________ Asp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net
