通过反射获取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();

原创粉丝点击