我在一个页面调用了自已写的类,类中有读数据库的代码,我发现如果在我写的这个类中使用了Connection.close(),页面的执行时间是100ms,如果在我写的类中不使有Connection.close(),页面的执行时间大幅降到50ms.
这是怎么回事?在页面中已经有了Connection.close()的语句,在调用了类中是否还需要?

解决方案 »

  1.   

    我的意思是这样的:在default.aspx.cs文件中:namespace Ti.TBS
    {
    /// <summary>
    /// _Default 的摘要说明。
    /// </summary>
    public class _Default : System.Web.UI.Page
    {
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    XiTong xt=new XiTong();
    //连接数据库
    MyConnection= new OleDbConnection(xt.strCon());if(!IsPostBack)
    {
    OleDbCommand MyCom;
    OleDbDataReader MyR;
    strSql=""
    MyCom=new OleDbCommand(strSql,MyConnection);
    MyCom.Connection.Open();
    MyCom.ExecuteNonQuery();
    //关闭数据库
    MyR.Close();
    //
    if()
    {
    //!!!!!!!!!!!!!!!!!!!调用wz类!!!!!!!!!!!!!!!!!!!!
    wz wzs=new wz();
    wzs.du();
    }
    //
    MyCom.Connection.Close();
    }
    }
    }
    }
    }
    //////////////
    //
    //在另一个页面
    //
    namespace Ti
    {
    //读取网站资料
    public class wz: System.Web.UI.Page
    {
    public void du()
    {
    XiTong xt=new XiTong();
    OleDbConnection MyCon=new OleDbConnection(xt.strCon());
    string strSql="";
    OleDbCommand MyCom=new OleDbCommand(strSql,MyCon);
    MyCom.Connection.Open();
    OleDbDataReader MyR=MyCom.ExecuteReader();
    if(MyR.Read()==true)
    {
    }
    MyR.Close();
    !!!!!!!!!!!!!!!!!!!!!!!!!!!这一句是否需要?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    //MyCom.Connection.Close();
    !!!!!!!!!!!!!!!!!!!!!!!!!!!这一句是否需要?!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    }
    }