Hi Alex,

*schnipp*
Sch�n, wenn man das gleich korrigiert zur�ck bekommt :-)

Den HttpContext.Current braucht man nat�rlich, wenn's keine "Page" ist.

Um den Code lesbarer zu machen, schlage ich vor:
oben ein
        using System.Collections.Specialized.NameObjectCollectionBase; 
rein zu nehmen und unten dann:
        private static string LoadConfigValue(string nameInWebConfig) 
        {
                string nameInApplication = "Config" + nameInWebConfig;
                HttpApplicationState app = HttpContext.Current.Application;
                if( app[nameInApplication] == null )
                {
                        app[nameInApplication] =
ConfigurationSettings.AppSettings[nameInWebConfig];
                }
                return
                app[nameInApplication].ToString(); 
        }

Aber dann haben wir den gei*sten AppSettings-Wrapper, seit es Wurst in Dosen
gibt.
Obwohl ... man k�nnte anstatt "Config" auch eine Guid nehmen, die man
wiederum in der Application ablegt. Somit h�tte man dann nur eine namentlich
benannte Application-Variable, aber viele Zugriffe auf die Application :-(

Gru� Markus


-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Alexander Zeitler
Gesendet: Mittwoch, 26. November 2003 12:36
An: [EMAIL PROTECTED]
Betreff: AW: [Asp.net] ConfigurationSettings


Hallo Markus,

> 
> 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.
> 

klasse Idee, ein paar *weilungetestet* Bugs waren drin, da ich es nach
Deinem
Vorschlag verwenden will, habe ich es mal gefixt:

internal class Configuration 
{
        public static string ConnectString 
        {
                get 
                {
                        return LoadConfigValue("ConnectionString");
                }
        }


        private static string LoadConfigValue(string nameInWebConfig) 
        {
                string nameInApplication = "Config" + nameInWebConfig;
                if( HttpContext.Current.Application[nameInApplication] ==
null )
                {
                        HttpContext.Current.Application[nameInApplication] =
ConfigurationSettings.AppSettings[nameInWebConfig];
                }
                return
HttpContext.Current.Application[nameInApplication].ToString(); 
        }
}

Gruss

Alex

_______________________________________________
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

Antwort per Email an