Asp.net中解决“请求超时”的问题
2010-08-03 13:53
316 查看
公司后台查询数据时,如果选择的时间段过长,就会遇到"请求超时"的的问题。
造成这一问题的原因大概有以下几点:
1,Asp.net请求超时
2,Webservice请求超时
3,IIS请求超时
4,数据库连接超时
2,Webservice请求超时
3,IIS请求超时
4,数据库连接超时
知道原因后,就可以解决问题了。
Asp.net中关于超时的设置:
在web.config 里<system.web>节点添加以下代码:
[csharp] [/csharp]
来自MSDN解释:
httpRuntime是配置asp.Net http运行时设置,以确定如何处理对asp.Net应用程序的请求。
executionTimeout:表示允许执行请求的最大时间限制,单位为秒 maxRequestLength:指示 ASP.Net 支持的最大文件上载大小。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。
WebService请求超时时间的设置:[csharp] [/csharp]
来自MSDN解释:
httpRuntime是配置asp.Net http运行时设置,以确定如何处理对asp.Net应用程序的请求。
executionTimeout:表示允许执行请求的最大时间限制,单位为秒 maxRequestLength:指示 ASP.Net 支持的最大文件上载大小。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。
扩大代理类的超时限制,默认是90秒 ,即在调用方法前指定超时时间。
[csharp]YourWebService yws = new YourWebService(); yws.Timeout = 1200000; //20分钟,单位是毫秒[/csharp]
如果将 Timeout 属性设置为 Timeout.Infinite,则指示该请求无超时。即使 XML Web services 客户端可以将 Timeout 属性设置为无超时,Web 服务器仍可以在服务器端使请求超时。
IIS中请求超时设置。[csharp]YourWebService yws = new YourWebService(); yws.Timeout = 1200000; //20分钟,单位是毫秒[/csharp]
如果将 Timeout 属性设置为 Timeout.Infinite,则指示该请求无超时。即使 XML Web services 客户端可以将 Timeout 属性设置为无超时,Web 服务器仍可以在服务器端使请求超时。
IIS-网站-属性 连接超时时间 1200秒
数据库连接(ado.net)超时 1,可能是连接池(Connection Pooling)中的链接用完了,需要扩大连接池。
2,给sqlcommand设置一个更长的超时时间(timeout属性)。
[csharp] SqlCommand myCommand = new SqlCommand(); myCommand.CommandTimeout = 15; [/csharp]
3,ado.net超时比较复杂,还可能是表被锁定或者其他的别的原因。
题后:其他开发平台(jsp,php)中“请求超时”问题的解决应该有类似的方法。例如设置apche,tomcat的超时时间更长些。2,给sqlcommand设置一个更长的超时时间(timeout属性)。
[csharp] SqlCommand myCommand = new SqlCommand(); myCommand.CommandTimeout = 15; [/csharp]
3,ado.net超时比较复杂,还可能是表被锁定或者其他的别的原因。
此文同时发布在:http://www.2evening.info/archives/asp-net-webservice-timeout.html
相关文章推荐
- asp.net解决请求超时问题
- 解决asp.net上传文件超过了最大请求长度的问题
- 关于在IIS中出现ASP.NET 未被授权访问所请求的资源问题的解决
- ASP.NET“由于无法创建应用程序域,因此未能执行请求”问题一步一步解决
- Asp.net uploadify上传出现“超过了最大请求长度”的问题解决方法
- "无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动"问题解决方法
- XP下如何解决“ASP.NET 未被授权访问所请求的资源”的问题
- asp.net 2安装遇到问题的解决(由于无法创建应用程序域,因此未能执行请求。错误: 0x80070005 拒绝访问)
- asp.net web api 解决ajax跨站点post请求提交 json 数据问题
- ActionScript 3.0请求Asp.net时乱码问题解决
- ASP.NET MVC应用中浏览器无法发出Ajax请求的问题解决一例
- Asp.net中解决“请求超时”的问题
- 关于“ASP.NET 无权访问所请求的资源”问题解决
- Asp.net上传出现“超过了最大请求长度”的问题解决方法
- 解决ASP.NET中Redis 每小时6000次访问请求的问题
- 巧用asp.net 过滤所有的Response请求并替换部分内容,彻底解决MVC虚拟路径问题.
- 为解决ASP.NET MVC(CTP)中URL“页面请求”和“单纯逻辑处理请求”混淆问题,提供一条思路
- IIS ASP.NET网站部署问题解决: ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。
- ActionScript 3.0请求Asp.net时乱码问题解决
- 解决asp.net mvc的跨域请求问题