日期:2014-05-17  浏览次数:21011 次

asp:datalist 中动态载入时,sqlconnection连接池溢出。
在itemtemplate中,我们要加载一个动态信息,所以要调用一个在.vb中定义的函数,Public   Function   isDeletable(ByVal   idRef   As   Int32,   ByVal   idTypeRef   As   Int32)   As   String
在此函数中,我们要调用sqlconnection.但是在每次结束后都有释放。
问题是这个函数是再datalist载入每一行时调用一次。当行数不多时,没有任何问题,但是当行数超过45行是。经管在载入每一行调用sqlconnection都有将其关闭,但是在第45此调用次函数时还是catch到一个exception.
显示   sqlconnection   management   pool   已经满了。timeout.不能再调用con.open()了。
请问有哪位大虾知道怎么回事,急死小弟了。
谢谢了


----------.aspx-------------------

<ItemTemplate>
<table   width= "100% "   border= "0 "   cellspacing= "0 "   cellpadding= "0 ">
<tr   class= "SimpleLigne ">
... <td   width= "5% "   align= "center "> <%#   isDeletable(convert.toInt32(DataBinder.Eval(Container.DataItem,   "ID ")),   convert.toInt32(DataBinder.Eval(Container.DataItem,   "IDTypeReference ")))   %> </td>
... </tr>
</table>
</ItemTemplate>

------解决方案--------------------
。。。为什么不把数据一次使用而要多次呢?
你程序里的关闭,只是把连接给回连接池,至于它要什么时候销毁这个连接,那是它的事
你这样不停地创建新的连接请求,连接池不满才奇怪..