当前位置:  编程技术>.net/c#/asp.net

asp.net 执行sql超时的解决方法分享

    来源: 互联网  发布时间:2014-08-30

    本文导语:  当在asp.net程序中执行较为复杂的sql时,出现执行sql时间过长,引起页面执行不了并提示执行脚本超时,即通常所说的超时异常。 超时异常分两种情况: 一种是连接超时; 另一种是执行超时。 前者,通过SqlConnection.ConnectionTim...

当在asp.net程序中执行较为复杂的sql时,出现执行sql时间过长,引起页面执行不了并提示执行脚本超时,即通常所说的超时异常。

超时异常分两种情况:
一种是连接超时;
另一种是执行超时。
前者,通过SqlConnection.ConnectionTimeOut进行设置。
后者,通过SqlCommand.CommandTimeOut进行设置。

关于这二个属性的解释如下:
SqlConnection.ConnectionTimeout
获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。
等待连接打开的时间(以秒为单位)。默认值为 15 秒。

SqlCommand.CommandTimeout
获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
等待命令执行的时间(以秒为单位)。默认为 30 秒。

解决方法:
 

代码示例:
conn.open();
SqlCommand sqlcmd=new SqlCommand();
sqlcmd.CommandTimeout=180; //sqlcmd的超时为3分钟


可根据需要设置,如果过长,也可以设置为0,当此属性设置为0时表示不限制时间。
此属性值应该慎用。还需要在Web.config配置文件中设置http请求运行时限间
 

代码示例:



这里设置的为720秒,前面的属性maxRequestLength一般用于用户上传文件限制大小!默认一般为4096KB(4 MB)。

在项目中用到的一种方法:
由于项目需要一次导入至少20万条记录并进行分类筛选、计算、入库操作。
服务器环境不是很好,整个转换过程可能会超过半个小时,此时除服务器可能超时外,浏览器和服务器端的Session都有可能超时,另外用户并不一定需要等待任务完成。当然如果能查看任务进度更好。

解决办法:
1、引入静态对象记录当前的操作状态,使用Ajax实时显示任务完成进度,由于使用了静态对象,即使使用者暂时离开页面再次进入时进度还是在;
2、引入后台线程,由线程操作静态对象,可以很好的解决超时的问题。

希望本文介绍的二种方法,可以帮助大家解决asp.net执行sql语句超时的问题,大家如果有更好的方法,也欢迎分享在。


    
 
 

您可能感兴趣的文章:

  • asp.net 超时设置的方法介绍
  • ASP.NET的超时设置
  • asp.net超时时间与上传文件大小的设置方法
  • asp.net的各种超时问题小结
  • 设置ASP.NET页面的运行超时时间详细到单个页面及站点
  • asp.net Session超时问题的解决方法有哪些?
  • asp.net连接数据库超时的解决办法
  • 请问大侠:都说JSP比ASP执行速度快, 但这和JAVA本身速度慢(靠虚拟机执行) 有何关系???
  • 请问大侠:都说JSP比ASP执行速度快, 但这和JAVA本身速度慢(靠虚拟机执行)有何关系???
  • 请问在JSP中如何中断程序的执行,类似asp的response.end
  • asp.net显示页面执行时间
  • 有终止jsp页面的继续执行的命令么?(类似于asp中resonse.end())
  • asp.net按钮只执行客户端代码不回送页面的方法
  • asp.net 由于无法创建应用程序域,因此未能执行请求错误的解决方法
  • Asp.Net(C#)自动执行计划任务的程序实例分析分享
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • iis8.5显示ASP的详细错误信息500 内部服务器错误解决方法
  • asp.net post方法中参数取不出来的解决方法
  • 解决asp.net ajax格式传递数据乱码的问题
  • 发布程序时出现“类型ASP.global_asax同时存在于...”错误的解决办法
  • win2003+IIS服务器下运行ASP+ACCESS非常慢的解决方法
  • asp.net iis7默认文档错误异常的解决方法
  • asp.net ajax时用alert弹出对话框与验证控件冲突的解决方法
  • asp.net Session丢失的解决方法
  • asp.net解决上传4M文件限制
  • iis6网站属性没有asp.net选项卡的解决办法
  • ASP.NET页面按钮单击事件失效的解决方法
  • asp+mysql+utf8 网页出现乱码问题的解决方法
  • asp.net 公共变量声明问题的解决方法
  • asp.net无法加载oci.dll的解决方法
  • ASP.NET 程序中删除文件夹导致session失效问题的解决办法分享
  • ASP和ASP.Net共享Session解决办法
  • asp.net伪静态后真正的静态文件无法访问的解决方法
  • asp.net url传递中文的解决方法
  • ASP.NET在IIS上注册报0x800702e4错误的解决方法
  • 64位系统中IIS7运行ASP时出现ADODB.Connection 800a0e7a错误的解决方法
  • ASP.NET之 Ajax相关知识介绍及组件图
  • 我想了解一些关于Java怎样与Asp或Asp.net结合方面在未来发展方向的问题?
  • c#/ASP.NET操作cookie(读写)代码示例
  • asp.net UrlEncode对应asp urlencode的处理方法
  • asp.net实例 定义和使用asp:AccessDataSource
  • win2008 r2 服务器环境配置(FTP/ASP/ASP.Net/PHP)
  • asp与asp.net的session共享
  • 如何在unix下发布asp?
  • 怎么让Apache支持Asp?
  • ??谁能把ASP代码改为JSP的
  • Linux平台下哪种方法实现ASP好?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3