通过反射获取SqlConnection连接池中的连接字符串
来源:互联网 发布:淘宝直通车教学视频 编辑:程序博客网 时间:2024/06/05 14:30
string constr = "Data Source=.;Initial Catalog=xhc;Integrated Security=True"; //获取类型中的私有成员 PropertyInfo pInfo = typeof(SqlConnection).GetProperty("InnerConnection", BindingFlags.NonPublic | BindingFlags.Instance); object obj1 = null; object obj2 = null; using (SqlConnection con = new SqlConnection(constr)) { con.Open(); //获取第一个con中的InnerConnection属性中的值。 obj1 = pInfo.GetValue(con, null); using (SqlCommand cm = new SqlCommand("select * from TblStudent", con)) { cm.ExecuteNonQuery(); } con.Close(); } Console.WriteLine("===========ok============="); using (SqlConnection con = new SqlConnection(constr)) { con.Open(); //获取第二个con中的InnerConnection属性的值。 obj2 = pInfo.GetValue(con, null); using (SqlCommand cm = new SqlCommand("select * from TblStudent", con)) { cm.ExecuteNonQuery(); } con.Close(); } if (object.ReferenceEquals(obj1, obj2)) { Console.WriteLine("是同一个对象"); } else { Console.WriteLine("不是同一个对象。"); } Console.WriteLine("===========ok============="); Console.ReadKey();