注册 登录
编程论坛 ASP.NET技术论坛

急:刷新几次就提示"超时时间已到...",请求高手帮忙解决

皇者归来 发布于 2008-09-19 11:22, 3222 次点击
我是新手,学做但在测试中反复刷新同一页面后就会出现错误提示:
超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

后来我在网上查了下,说是什么连接没有释放内存,
我就进行Close()和Dispose(),并在配置文件web.config 设置更大的值,Min Pool Size=10;Max Pool Size=1000;packet size=4096;和maxRequestLength="5000" executionTimeout="5000"
这样可以多刷新几次了,但最后还是出示超时问题;

有什么简单的方法吗?请大哥哥和大姐姐帮忙解决呀,谢谢了;
(程序有点多,要一行行去检查有点麻烦,请说一个简单的方法,听说在连接数据库时用一个try...finally...就可解决是吗?但我不会写,请贴出来好吗?)
5 回复
#2
hebingbing2008-09-19 12:30
我想你要是把你的超时页面的代码贴出来,这样大家比较好帮你……
#3
雪雨星风2008-09-19 12:32
SqlDataReader SqlConnection   要及时关闭
#4
bygg2008-09-19 12:54
是你的数据库中的数据太多了....
#5
皇者归来2008-09-19 14:12
错误提示是这样的
错误提示是这样的:

超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

源错误:


行 6806:            if (con.State == ConnectionState.Closed)
行 6807:            {
行 6808:                con.Open();
行 6809:            }            
行 6810:        }
 

源文件: h:\\hbn\App_Code\HBN_CMS.cs    行: 6808

堆栈跟踪:


[InvalidOperationException: 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。]
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +1184393
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
   System.Data.SqlClient.SqlConnection.Open() +111
   HBN.YX_sql.Open() in h:\\hbn\App_Code\HBN_CMS.cs:6808
   HBN.YX_sql.Re_dr(String sql) in h:\\hbn\App_Code\HBN_CMS.cs:6972
   HBN.HBN_CMS.Hope_ProPH() in h:\\hbn\App_Code\HBN_CMS.cs:3603
   HBN.HBN_CMS.GetStaticTag(String htmls) in h:\\hbn\App_Code\HBN_CMS.cs:4615
   _Default.Page_Load(Object sender, EventArgs e) in h:\\hbn\Default.aspx.cs:74
   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

 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; 版本:2.0.50727.42
#6
仰望星空2008-09-19 20:51
[bo][un]皇者归来[/un] 在 2008-9-19 14:12 的发言:[/bo]

6806:            if (con.State == ConnectionState.Closed)
6807:            {
6808:                con.Open();
6809:            }            
6810:        }


源文件: h:\\hbn\App_Code\HBN_CMS.cs    行: 6808  


真的假的,楼主的代码真的需要那么复杂吗???
还有,楼主要养成关闭数据库连接的习惯,不要打开了不关。
1