在网络稳定的环境下,使用系统时,如果提示:会话已终止,事务已超时,Unexpected EOF,我们可以做一些参数配置来处理,看是否问题可以得到解决。
数据库执行SQL超过了预期
如果通过后端监控,发现单条SQL语句执行的时间长,但语句无法优化,并且表存在有效的索引,那么可以修改Web.config,在<appSettings>节点下增加
<add key=“DbCommandTimeout” value=“60” /> --如将SQL执行超时时间设置为1分钟,根据具体情况调整
Oracle环境下,前端堆栈位置正在调用DBUtils.BulkInserts方法,可以修改Web.config,在<appSettings>节点下增加
<add key="OracleBulkInsertBatchSize" value="5000"/> --调整每次批量大小,系统默认是50000,这时候需要改小
数据库执行SQL太长,导致了请求操作超过了最大的超时时间。
这种主要表现在有异步调用的功能操作,如报表,生成凭证,成本计算或者MRP计算等。可以在web.conifg下找到
<httpRuntime waitChangeNotification="315360000" maxWaitChangeNotification="315360000" maxRequestLength="51200" requestValidationMode="2.0" executionTimeout="30" />--将executionTimeout="30"加大,默认是30秒
.Net事务默认超时时间是10分钟,如果某个操作每次都10分钟后超时,那么需要增加该值大小。
在 %WINDIR%\Microsoft.NET\Framework\v4.0.30319\Config下,找到machine.config文件,找到下面节点
<system.transactions>
<machineSettings maxTimeout="00:10:00"/> --默认为10分钟,需要改为如01:00:00 一小时
</system.transactions>
- 注Web.config位置:产品安装目录下Kingdee\K3Cloud\WebSite
推荐阅读