部分内容被遮盖
正常情况本机的IIS和VS2008里多次刷新会偶尔出现几次这种情况,外网刷新页面没有出现。(reader每次用完都关闭了),怀疑是不是刷新时前一次尚未关闭,然后新的请求又进来导致的该问题? 

解决方案 »

  1.   

    任何一个使用DataReader的地方,用完后都必须马上关掉。否则多刷新几次连接池就满了。仔细检查你用到Reader的地方,一定Reader.Close()
      

  2.   

    using (dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    dt.Load(dr);
                }CommandBehavior.CloseConnection
    用完自动关闭
      

  3.   

       //Sql语句返回DataTable
            public static DataTable ExecuteDataSet(string safeSql)
            {
                DataSet ds = new DataSet();
                using (SqlCommand cmd = new SqlCommand(safeSql, Connection))
                {
                    using (SqlDataAdapter da = new SqlDataAdapter(cmd))
                    {
                        da.Fill(ds);
                        return ds.Tables[0];
                    }            }        }
    用的是这个  运行的页面 除了这个方法别的都没用  刷新快了还是报错  在外网的就没问题
      

  4.   

    我用的三层  DAL里用reader 的肯定都关闭了  刷新快了  还是会报错  而且报的这个错误是返回datatable的方法的
      

  5.   


    你本地机用的xp吗?xp的链接池本来就少,只要其中一个没有关闭,刷新几次连接池就满了。
    还有数据方法尽量不要用static
      

  6.   

    我用的win7  IIS7 。每个请求进来应该都是独立的吧,一个没运行完会影响所有用户吗?应该不会吧?外网的今天也出了一次问题,不过频率比自己的iis低很多, 外网的错误提示 致命连接错误。 应该是同样的原因吧?  还有为什么不用static?有没有什么较好的  dbhelper类,推荐一下,谢谢了