public override void OnBeginTransaction() { if (_instance == null) { _instance = this; } }
public override void OnEndTransaction() { if (_instance == this) { _instance = null; } }
public static DefaultConnectionDB GetInstance() { //如果没有HttpContext使用标准单例 if (HttpContext.Current == null) { if (_instance == null) { lock (Locker) { //double check if (_instance == null) { _instance = new DefaultConnectionDB(); } } } return(_instance); } //如果在web环境中每个请求对应一个实例 if (!HttpContext.Current.Items.Contains(typeof(DefaultConnectionDB))) { HttpContext.Current.Items.Add(typeof(DefaultConnectionDB), new DefaultConnectionDB()); } return((DefaultConnectionDB)HttpContext.Current.Items[typeof(DefaultConnectionDB)]); //if (_instance != null) // return _instance; //if (Factory != null) // return Factory.GetInstance(); //else //{ // _instance = new DefaultConnectionDB(); // return _instance; //} }