高手来看看,一个很郁闷的问题:我的一个程序已运行一年多,这两天一个页面频繁出现事务和超时的错误。
一个月前出现如下的错误:此SqlTransaction已完成,它再也无法使用。
重新启动服务器后就好了。
最近几天老是出现这个错误,或者提示“超时时间已到。在操作完成之前超时时间已过或服务器未响应”。重启数据库后错误没了,但是过一阵子错误又有。
我检查程序发现在BeginTrans()和CommitTrans()(这两个是数据访问类执行事务的方法)之间的多次数据库操作中,有打开连接后关闭连接然后再打开的情况,我想事务再也无法使用的原因可能是之前开始事务的连接已经关闭,对新的连接,当然无法提交事务。
没想到改了之后还是出现“此SqlTransaction已完成,它再也无法使用”的错误。
超时的错误,我在webconfig中加上<httpRuntime maxRequestLength="102400"executionTimeout="720"/>,同时把连接字符串Connect Timeout=600,错误依然存在。