错误:“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。源错误: 
行 18:                 if (isRequest("KeyCode") == isRequest("validate"))
行 19:                 {
行 20:                     int AdminId = WLogin.UserLogon(isRequest("logname"), isRequest("password"));
行 21:                     if (AdminId > 0)
行 22:                     {
 源文件: d:\JPC\20091027\Login.aspx.cs    行: 20 堆栈跟踪: 
[InvalidOperationException: 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。]
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +1188873
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
   System.Data.SqlClient.SqlConnection.Open() +111
   WLogin.UserLogon(String LogName, String Password) +304
   Mylogin.Page_Load(Object sender, EventArgs e) in d:\JPC\20091027\Login.aspx.cs:20
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +47
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
 我检查了我所有的连接SQL语句.都没问题.只有sqldatareader 的地方用的是CommandBehavior.CloseConnection 。释放后自动关闭连接。(都释放了)    我检查 我的sql活动监视。 里面和多sleeping进程是 是怎么回事? sleeping 占连接数量吗? 怎么动态的把它释放掉呢?  大哥们帮帮小弟吧. 网上都被我搜烂了.都没找到结果。 困扰小弟很多天了。实属无奈帮帮我吧。 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.827; ASP.NET 版本:2.0.50727.42 

解决方案 »

  1.   

    这个应该是超出连接池大小了,可能你的程序中有没有及时关闭数据库连接,你可以在sql server查看有几个连接正在使用
      

  2.   

    用datareader对象好像比较容易出现这个问题,你换其他种存储方式看下
      

  3.   

    正在使用的就1,2个。 其余的都是些sleeping的。  恩。网上说默认的连接池大小一般都够了吗?我这个项目不大.应该够了吧。 及时? 能细说点吗? 一般都是打开一个执行完关闭一个吧.就是我对CommandBehavior.CloseConnection  不太放心. 
      

  4.   

      其他的哪种好呢? 里面很多很多的sqldatareader  一下改起来需要很多时间。 要交项目了. 恐怕时间不够了。