用c#从百万数据中筛选一些信息时,经常会出现程序连接超时的错误,常见的错误很多,例如:Timeout expired. The timeout period elapsed prior to completion of the operation or the server等等

本文就常见的几种解决方案进行说明,纯属个人见解,欢迎拍砖

①:当然第一步要查看是否Connection没关闭问题,一般新手都会犯这个错误,需要认真查看一下哦,这个就不详细说了。

②:如果将sql语句复制到查询分析器中执行,如果执行时间本来就超过30秒,那么一般采用如下的解决方案:

首先分析引起Timeout的原因,一般是Connection没关闭或者SqlConnection.ConnectionTimeout超时,另外一种就是SqlCommand.CommandTimeout引起的, SqlCommand的此方法为获取或设置在终止执行命令的尝试并生成错误之前的等待时间,

他的默认为 30 秒,你可以设置为0 ,它表示无限制,但是最好不要去设置0 ,否则会无限的等待下去的,只需要针对查询分析器的时间,去设置这个时间就可以了

③:执行时间不是很长,但是还是操作超时,那么 也有很多原因,一般经常出现的有两种,asp.Net应用程序的请求超时,或者是连接池的连接生存期过去,,因为连接池默认值是60秒,那么针对这两种解决方案为:

解决应用程序请求超时:

在web.config中加上以下语句:

<system.web>

<httpRuntime maxRequestLength="102400" executionTimeout="720" />

</system.web>

executionTimeout:是允许执行请求的最大时间限制,单位为秒
          maxRequestLength:指示 ASP.Net 支持的最大文件上载大小。该限制可以防止。。。。大家都懂的。。呵呵

解决程序池生存周期问题:

在数据库连接字符串中修改:database=AA;uid=sa;pwd=sa; Pooling=true; MAX Pool Size=1024;Min Pool Size=1;Connection Lifetime=60

至于含义基本上从英文的意思上大家就明白了,呵呵。。。当然Min Pool Size=1这个设置还有很多讲究,如果想研究的可以看一下下面的文章,呵呵

http://www.cnblogs.com/ZHUYIN/archive/2011/11/02/2232578.html

最新文章

  1. (十三)WebGIS中工具栏的设计之命令模式
  2. ThinkPHP3.2 volist嵌套循环显示原理
  3. BLE-NRF51822-实现简单扫描器
  4. 通过运行时动态给OC分类添加属性
  5. SDUT2087 离散事件模拟-银行管理(模拟)
  6. PHP判断是否微新浏览器
  7. 手动同步chrome浏览器
  8. Hug the princess(思维,位运算)
  9. 一周学会Mootools 1.4中文教程:(7)汇总收尾
  10. nio简介
  11. Android软件设置自动检查更新
  12. DBUtils温习2
  13. cf相关命令
  14. AC自动机学习笔记-2(Trie图&amp;&amp;last优化)
  15. 08_Flume_Selector实践
  16. 全屏背景图的实现及background的相关属性
  17. C++ 基础 杂类
  18. 洛谷P2731 骑马修栅栏 [欧拉回路]
  19. MySQL数据中分级分组显示数据
  20. javascript实现与后端相同的枚举Enum对象

热门文章

  1. 大批量DML操作应该注意什么?
  2. 五、mysql存储引擎
  3. 三、记一次失败的 CAS 搭建 之 服务端配置
  4. Js 获取当前时间
  5. 轻仿QQ音乐之音频歌词播放、锁屏歌词-b
  6. 1046: [HAOI2007]上升序列 - BZOJ
  7. hdu 1085
  8. [Akka]发送一条消息的内部流程
  9. 深入了解nagios的各配置文件
  10. DAO是什么技术