zoukankan      html  css  js  c++  java
  • .NET : 一定不要忘记关闭DataReader对象

    今天早上处理一个紧急的客户反应问题,这是去年开发的一套绩效考核系统。他们现在集团在推广使用,用户数多起来之后就发现某个页面响应速度非常慢,甚至会报告错误,无法完成操作。

    经过检查,发现有一个方法用到了DataReader对象,但当时可能是疏忽了,忘记关闭该对象。特此记录这个问题,以为警示。

        /// <summary>
        /// 循环按照编号去取某个员工的某个指标的值
        /// </summary>
        /// <param name="taskList"></param>
        /// <returns></returns>
        public static DataSet GetGroupExamineFormDataItems(List<string> taskList,string code)
        {
            DataSet ds = new DataSet();
            DataTable tb = new DataTable();
            tb.Columns.Add("EmployeeName");
            tb.Columns.Add("SelectValue");
            tb.Columns.Add("TaskId");
            ds.Tables.Add(tb);
    
            foreach (string item in taskList)
            {
                List<SqlParameter> param = new List<SqlParameter>();
                param.Add(new SqlParameter("@Id", item));
                param.Add(new SqlParameter("@Code", code));
    
                SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, "GetGroupExamineFormDataItems", param.ToArray());
                while (reader.Read())
                {
                    DataRow row = tb.NewRow();
                    row[0] = reader[0];
                    row[1] = reader[1];
                    row[2] = item;
    
                    tb.Rows.Add(row);
                }
                reader.Close();
            }
    
            return ds;
        }

    去年用的时候,因为用户数不太多,基本上没有察觉这个问题。

    这个DataReader没有关闭的后果是造成它的Connection无法关闭,导致有很多连接被空闲,但是又没有销毁。这不能不说是一个低级错误。

    当然,这是一个疏忽,因为无论如何我们都知道应该是要关闭的,当时写代码估计是比较赶时间而出了差错。

  • 相关阅读:
    AjaxEvent、AjaxMethod和Listeners的区别
    chm 文档突然打不开了
    ComboBox实现联动时所遇问题,待解!
    Silverlight 3 中使用WCF上传文件 (简单进度条展示)
    Eclipse 使用ApacheAnt 小记
    ApacheAnt 基础知识
    EClipse + Jdk + ApacheAnt + jetty + GWT + MySQL(Navicat)
    限制文本框输入N个字符的使用
    JAVA编程经验汇总 (载)
    Visual Studio 2010: Addin 的目录设置及其项目模板位置
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1625907.html
Copyright © 2011-2022 走看看