WebService,The operation has timed out(此操作已超时)

杨戴沐 2015-12-04 12:10:15
winform程序,调用webservice绑定数据时,偶发性造成程序假死,假死几分钟后抛出异常“The operation has timed out”,点掉提示框后又可继续操作。如此循环。
此问题是在客户公司出现,我在本地测试的时候,做了定时器一分钟调用绑定一次数据(同一方法,同一数据库),两台电脑同时运行,并没有出现这种情况。
客户服务器webservice的web.config已加入配置
<httpRuntime executionTimeout="300000" />
<compilation defaultLanguage="c#" debug="false">
winfrom已设置Timeout。
客户服务器配置很高,数据量也不大,所以不存在CUP处理不过来或数据查询超时等情况。目前我怀疑是哪里的配置限制了IIS同时访问的数量,多个客户端同时调用的时候会造成堵塞?
请问下各位有碰到过这种问题吗?怎么解决?不胜感激!
...全文
3173 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
异步方式不用你try-catch了,异常被提取到e.Error中了
  • 打赏
  • 举报
回复
你这是服务端那边卡死了,响应不过来 解决办法就是改成异步调用,Net中很简单,用VS引用服务那里,点属性,“高级”出来的对话框中,选中“生成异步调用的方法” 程序中原来调用方法的地方改一下,比如 var result = wsClient.xxx(); 改成 using (var wsClient= new 服务代理()) { wsClient.xxxCompleted += xxxCompleted; //调用完成时的事件处理 wsClient.xxxAsync(参数列表, stateObj); } void xxxCompleted(object sender, xxxCompletedEventArgs e) { if (e.Error != null) { 调用出错; } else { var result = e.Result; 绑定数据(result); } }
江南小鱼 2015-12-04
  • 打赏
  • 举报
回复
1、https表示是用ssl加密,https相当于http+ssl进行加密传输,可用于身份认证的网络协议。本质还是http,无状态的协议。 2、假死的时候,可能网络已经闪断
杨戴沐 2015-12-04
  • 打赏
  • 举报
回复
引用 1 楼 lovelj2012 的回复:
网络闪断吧? http是无状态的,网络闪断,即使设置超时时间,显然也没用。
在假死的时候ping服务器,不掉包。还有用的是https
杨戴沐 2015-12-04
  • 打赏
  • 举报
回复
补充一下,用的是HTTPS调用的。
江南小鱼 2015-12-04
  • 打赏
  • 举报
回复
网络闪断吧? http是无状态的,网络闪断,即使设置超时时间,显然也没用。
abz7676 2015-12-04
  • 打赏
  • 举报
回复
方法一:可能是你哪句sql语句查询花的时间比较长。 试试下面的方法,下面的方法能让你知道一条sql语句执行好之后用了多少时间。


declare @d datetime
set @d=getdate()

select * from tableC

select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate()) 


tableC是你要查询的数据库表名称。你用这个方法再加上排除法,就可以知道到底是哪一条sql语句执行好之后花的时间比较长。 方法二:在web.config中设置


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

方法三:在web.config的数据连接字符串加上下面两个属性:


Packet Size=8192;Max Pool Size=1000;

方法四:在读数据库的方法中添加


cmd.CommandTimeout = 180;

lvfeng_95 2015-12-04
  • 打赏
  • 举报
回复
那你服务设置的超时时间是多少?? <httpRuntime executionTimeout="300000" />是设置iis的超时时间,你服务的超时时间是多少。
杨戴沐 2015-12-04
  • 打赏
  • 举报
回复
人工置顶人工置顶人工置顶人工置顶
杨戴沐 2015-12-04
  • 打赏
  • 举报
回复
人工置顶人工置顶人工置顶

111,076

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧