Hallo,

ich habe ein seltsames Problem:

Ich habe eine Klasse Configuration, die
aus einer .config Datei Einstellungen f�r meine
ASP.NET Application liest (und diese normalerweise
auch cached, was aber f�r diesen Test/Fehler
deaktiviert wurde).

Nun greife ich im DataLayer in der Klasse
DALBase.cs darauf (DataAccess.OleDbConnectionString) zu:

public class DALBase {
        protected static string ConnectionString        = string.Empty;
        protected static AdoHelper DALHelper;

        static DALBase() {                              
                string assembly = string.Empty, type = string.Empty;
                //              string type             = string.Empty;
                switch( DataAccess.ProviderType ) {
                        case DataProviderType.SqlServer:
                                assembly                        =
DataAccess.SqlServerHelperAssembly;
                                type                            =
DataAccess.SqlServerHelperType;
                                ConnectionString        = 
        
DataAccess.SqlServerConnectionString;
                                break;
                        case DataProviderType.OleDb:
                                assembly                        =
DataAccess.OleDbHelperAssembly;
                                type                            =
DataAccess.OleDbHelperType;
                                ConnectionString        = 
                                        DataAccess.OleDbConnectionString;

                                break;
                        case DataProviderType.Odbc:
                                assembly                        =
DataAccess.OdbcHelperAssembly;
                                type                            =
DataAccess.OdbcHelperType;
                                ConnectionString        =
DataAccess.OdbcConnectionString;
                                break;
                }
                DALHelper = AdoHelper.CreateHelper( assembly, type);
        }
}

Den ConnectionString, der hier definiert wurde, verwende ich nun
in einer Methode einer Klasse, die von DALBase abgeleitet wurde:

public static PageContentDataSet GetMenuEntries() {
        PageContentDataSet ds = new PageContentDataSet();

        DALHelper.FillDataset(
                ConnectionString,
                CommandType.StoredProcedure, 
                "PageContentGetMenu",
                ds,
                new string[] {"PageContent"});
        return ds;
}

Der Effekt, der nun auftritt, ist folgender:
�ndere ich in dem Eingangs genannten .config File
nun den ConnectionString, bekommt der ConnectionString in der 
GetMenuEntries()-Methode die �nderung nicht mit und arbeitet
mit dem alten Wert.

Verwende ich nun in GetMenuEntries() statt ConnectionString
direkt DataAccess.OleDbConnectionString, klappt es wunderbar,
d.h. bei �nderungen wird der richtige, ge�nderte ConnectionString
verwendet.

Aber warum ist das so? Wieso klappt es �ber die Ableitung bzw.
den ConnectionString der Ableitung nicht?

Gruss

Alex


_______________________________________________
CSharp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/csharp.net

Antwort per Email an