0

现有代码:

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 总是为空。为什么我不能从 GetData 方法获得 d2?我的意思是每次 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;
        }
    }
}
4

0 回答 0