Класс С# CallContext может хранить 2 ключа?
Существующий код:
public abstract class MyProjectDb: DB
{
public static DB ActualDb
{
get
{
DB d1 = CallContext.GetData("_d1_") as DB;
if (d1 == null)
{
d1 = new DB(Settings.AppServerCon1);
CallContext.SetData("_d1_", d1);
}
return d1;
}
}
}
d1 устанавливается только один раз. Чем это получается из метода GetData.
Я создал аналогичный для второго подключения к БД. Но d2 всегда становится нулевым. Почему я не могу получить d2 из метода GetData? я имею в виду каждый раз, когда d2 заполняется методом SetData.
public abstract class MyProjectDbSecond : DB
{
public static DB ActualDbSecond
{
get
{
DB d2 = CallContext.GetData("_d2_") as DB;
if (d2 == null)
{
d2 = new DB(Settings.AppServerCon2);
CallContext.SetData("_d2_", d2);
}
return d2;
}
}
}