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