文档章节

超时时间已到。在操作完成之前超时时间已过或服务器未响应

donny945
 donny945
发布于 2014/06/17 18:04
字数 1135
阅读 8805
收藏 4

报错,“超时时间已到。在操作完成之前超时时间已过或服务器未响应”

初步分析原因为对MSSQL操作时连接超时,知道这事,以前没留意,大概是在配置文件中设置连接时限,在网上找了下解决方法,大多说在数据库连接字符串里解决

SqlConnection con = new SqlConnection'server=.;database=myDB;uid=sa;pwd=password;'

改为:

SqlConnection con = new SqlConnection'server=.;database=myDB;uid=sa;pwd=password;Connect Timeout=500'

似乎没效果。依然运行30秒即报超时!

突然感觉似乎应该可以在连接数据库代码中指明,式了下con的属性,有个ConnectionTimeout,

SqlConnection con = new SqlConnection'server=.;database=myDB;uid=sa;pwd=;';

con.ConnectionTimeout = 180;//报错,属性ConnectionTimeout 为只读!

尝试失败,再接着看command对象属性,发现其也有类似属性!CommandTimeout设置一下:

SqlCommand cmd = new SqlCommand;

cmd.CommandTimeout = 180;

再运行,即解决,这里设置的时间的180秒,即三分钟!可根据需要设置,如果过长,也可以设置为0,当此属性设置为0时表示不限制时间。此属性值应该慎用。还需要在Web.config配置文件中设置http请求运行时限间

<system.web>  

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

</system.web>

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

看一下来自MSDN解释:

     httpRuntime是配置asp.net http运行时设置,以确定如何处理对asp.net应用程序的请求。

     executionTimeout:表示允许执行请求的最大时间限制,单位为秒

     maxRequestLength:指示 ASP.NET 支持的最大文件上载大小。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB 4 MB。

     useFullyQualifiedRedirectUrl:表示指示客户端重定向是否是完全限定的(采用 'http://server/path ' 格式,这是某些移动控件所必需的),或者指示是否代之以将相对重定向发送到客户端。如果为 True,则所有不是完全限定的重定向都将自动转换为完全限定的格式。false 是默认选项。

     minFreeThreads:表示指定允许执行新请求的自由线程的最小数目。ASP.NET 为要求附加线程来完成其处理的请求而使指定数目的线程保持自由状态。默认值为 8。

    minLocalRequestFreeThreads:表示ASP.NET 保持的允许执行新本地请求的自由线程的最小数目。该线程数目是为从本地主机传入的请求而保留的,以防某些请求在其处理期间发出对本地主机的子请求。这避免 了可能的因递归重新进入 Web 服务器而导致的死锁。

    appRequestQueueLimit:表示ASP.NET 将为应用程序排队的请求的最大数目。当没有足够的自由线程来处理请求时,将对请求进行排队。当队列超出了该设置中指定的限制时,将通过“503 - 服务器太忙”错误信息拒绝传入的请求。

    enableVersionHeader:表示指定 ASP.NET 是否应输出版本标头。Microsoft Visual Studio 2005 使用该属性来确定当前使用的 ASP.NET 版本。对于生产环境,该属性不是必需的,可以禁用。

 

 

 

 

在项目中,做蓄水量线性插值功能模块过程中,每次update蓄水量字段到数据库中时,每隔几十条就会出现“超时时间已到。在操作完成之前超时时间已过或服务器未响应。 ” 的异常,一开始以为是数据记录太多(一共170000多条),于是考虑数据分段获取-插值-更新的方式,每次只执行100条记录,仍然会报该异常。因此排 除该情况。由于我连接另外一台装有SqlServer数据库的服务器时,不会出现该问题,而在我本机进行数据库测试时,就会出现该问题。因此,我怀疑是我 本机的sqlserver数据库服务段设置不正确。经检查发现,我的Sql Server的网络使用工具中的TCP/IP的属性设置为0,而查询服务器sql server该端口值为1433,因此我将该值修改为1433,再执行程序测试,则顺利解决超时问题。

 

本文转载自:

共有 人打赏支持
donny945
粉丝 9
博文 201
码字总数 33875
作品 0
海淀
程序员
加载中

评论(1)

donny945
donny945
cmd.CommandTimeout = 180;

再运行,即解决,这里设置的时间的180秒,即三分钟!可根据需要设置,如果过长,也可以设置为0,当此属性设置为0时表示不限制时间。此属性值应该慎用。还需要在Web.config配置文件中设置http请求运行时限间

<system.web>

<httpRuntime maxRequestLength='102400' executionTimeout='720' />
这样诊断和调优,轻松与数据库"timeout"说再见

作者介绍 下面是用户访问一个Web站点的常见错误: src="https://mmbiz.qlogo.cn/mmbizjpg/tibrg3AoIJTupEygel5vDWICEDdFel1bice7zXMx6iaEOCtyCGyzpcnb1MMon7eWDsusWG2nSb3vMKn0m93IlcQWg/0?w......

许昌永
2016/11/09
0
0
HTTP请求状态及jQuery AJAX请求异常处理

上一周调优一个项目的Js部分,其中一个严重的问题就是在页面初始化数据时,没有对异常进行处理, 导致Loading一直在等待中,无提示无处理。在用户体验上很不好,即使网络条件无法保证,在出错...

临江仙卜算子
06/22
0
0
ZooKeeper源码研究系列 客户端创建连接过程分析

1 系列目录 ZooKeeper源码研究系列(1)源码环境搭建 ZooKeeper源码研究系列(2)客户端创建连接过程分析 ZooKeeper源码研究系列(3)单机版服务器介绍 ZooKeeper源码研究系列(4)集群版服务...

小萝卜_
2016/07/26
56
0
webrequest的timeout属性作用范围

使用c#进行抓取网页信息时,使用httpwebrequest进行抓取,通常都会自定义设置一个timeout超时值,如果不设置的话,系统默认的超时值比较高,往往长时间的等待没有意义,不如手动设置一个比较...

topdogs
2014/07/16
0
0
PXC 5.7 mysqldump: Error 2013

最近在mysqldump时,遭遇mysqldump: Error 2013错误。以为是常见的参数设置有问题,调整之后,也没有任何成效。原来发生了OOM,以下是其具体描述。 一、故障现象 二、故障分析 四、几个参数描...

leshami
04/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
34分钟前
3
0
invalid character found in the request target 异常

这个异常时因为Tomcat 9不支持请求格式出现“{”等非法字符的问题 因为tomcat版本问题遇到的坑,记录一下。 问题 今天由于要测试一下订单详情页的异步查询,在本地起了一个服务,发送的请求是...

edwardGe
38分钟前
4
0
发现抓包软件fiddler的bug

1个请求他跳转之后,直接400,被拦在了Apache,使用fiddler 的,replay requests 是同样的结果,但是replay composer确是正常的。 也就是说这replay requests 是发原来的包,replay composer...

NLGBZJ
48分钟前
1
0
linux screen 命令详解

shell关闭后, 主机仍然运行 screen命令 启动jenkins以后, screen, 然后按ctrl+a 再按d 这样暂停了子界面, 这时候回到了父界面 用screen –ls查看目前子界面的状态 [root@free /]# screen -l...

SuShine
49分钟前
4
0
mac机器切换无线网络导致网页不能打开的问题

问题: 公司和家里使用不同的WI-FI,每次从家到公司时自动切换网络后,公司的许多地址不能访问, ping域名是可以ping同的,但是网页却打不开... 问题分析: 初步猜想是DNS缓存的问题? 对于MAC系统没...

Lennie002
51分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部