问题标签 [timeoutexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1639 浏览

silverlight - 在 Silverlight 中使用 SoapClient 调用 WebServices 时如何处理 TimeoutException?

您如何处理使用 SoapClient 调用 WebServices 时生成的 TimeoutException?

似乎不需要处理任何事件来捕获调用 Web 服务时生成的任何异常。

是否可以捕获任何抛出的异常,尤其是 TimeoutException?

我还将这个问题发布到 Silverlight.net 论坛:http ://silverlight.net/forums/p/46029/124010.aspx

0 投票
3 回答
5056 浏览

wcf - 从 Silverlight 应用程序同时调用 WCF 服务时出现 TimeoutException

分析日志文件我注意到大约 1% 的服务调用在 Silverlight 客户端以 TimeoutException 结束。服务 (wcf) 非常简单,不会执行长时间的计算。根据日志,所有对服务的调用总是在不到 1 秒的时间内处理(即使客户端发生了 TimeoutException!),所以它不是服务器超时。

那么有什么问题呢?可能是配置问题还是网络问题?我怎样才能避免它?哪些额外的日志信息有助于本地化此问题?

我想到的唯一一种解决方法是在超时后重试服务调用。

我将不胜感激在这个问题上的任何帮助!

更新:启动时,应用程序执行 17 个服务调用,其中 12 个同时执行(可能是失败的原因?)。

更新: WCF 日志未包含有关此问题的有用信息。似乎有些服务调用没有到达服务器端。

0 投票
11 回答
111725 浏览

wcf - WCF超时异常详查

我们有一个应用程序,它具有在 IIS7 上运行的 WCF 服务 (*.svc) 以及查询该服务的各种客户端。服务器正在运行 Win 2008 Server。客户端运行 Windows 2008 Server 或 Windows 2003 Server。我收到以下异常,我已经看到它实际上可能与大量潜在的 WCF 问题有关。

我已将超时时间增加到 30 分钟,但仍然发生错误。这告诉我还有别的东西在起作用,因为上传或下载的数据量永远不会花费 30 分钟。

错误来来去去。目前,这种情况更为频繁。如果我同时运行 3 个客户端或 100 个客户端似乎并不重要,它仍然会偶尔发生。大多数时候,没有超时,但我仍然每小时有几个。错误来自任何被调用的方法。其中一种方法没有参数并返回一些数据。另一个接收大量数据作为参数,但异步执行。错误始终源自客户端,并且从不引用堆栈跟踪中服务器上的任何代码。它总是以:

在服务器上:我已经尝试(并且目前拥有)以下绑定设置:

它似乎没有影响。

我已经尝试(并且目前拥有)以下限制设置:

它似乎没有影响。

我目前对 WCF 服务有以下设置。

我跑ConcurrencyMode.Multiple了一会儿,错误仍然出现。

我试过重新启动 IIS,重新启动我的底层 SQL Server,重新启动机器。所有这些似乎都没有影响。

我试过禁用 Windows 防火墙。它似乎没有影响。

在客户端,我有以下设置:

我的客户关闭了它的连接:

我已更改注册表设置以允许更多传出连接:

我现在刚刚尝试了 SvcTraceViewer.exe。我设法在客户端捕获了一个异常。我看到它的持续时间是 1 分钟。查看服务器端跟踪,我可以看到服务器没有意识到这个异常。我能看到的最长持续时间是 10 秒。

我查看exec sp_who了服务器上使用的活动数据库连接。我只有几个(2-3)。我使用 TCPview 查看了来自一个客户端的 TCP 连接。它通常在 2-3 左右,我见过最多 5 或 6 个。

简单地说,我被难住了。我已经尝试了我能找到的所有东西,并且一定缺少 WCF 专家能够看到的非常简单的东西。我的直觉是,在服务器实际接收到消息之前,某些东西在低级别 (TCP) 上阻塞了我的客户端,和/或某些东西正在服务器级别对消息进行排队,并且从不让它们处理。

如果您有任何我应该查看的性能计数器,请告诉我。(请指出哪些值是错误的,因为其中一些计数器很难破译)。另外,我如何记录 WCF 消息大小?最后,是否有任何工具可以让我测试我可以在客户端和服务器之间建立多少连接(独立于我的应用程序)

谢谢你的时间!

6 月 20 日添加的额外信息:

我的 WCF 应用程序执行类似于以下的操作。

使用 WireShark,我确实看到当错误发生时,我有五次 TCP 重传,然后是 TCP 重置。我的猜测是 RST 来自 WCF 终止连接。我得到的异常报告来自 Step3 超时。

我通过查看 tcp 流“tcp.stream eq 192”发现了这一点。然后,我将过滤器扩展到“tcp.stream eq 192 和 http 和 http.request.method eq POST”,并在此流中看到 6 个 POST。这看起来很奇怪,所以我检查了另一个流,例如 tcp.stream eq 100。我有三个 POST,这似乎更正常一些,因为我正在进行三个调用。但是,在每次 WCF 调用后我都会关闭我的连接,所以我希望每个流调用一次(但我对 TCP 不太了解)。

进一步调查后,我将 http 数据包负载转储到磁盘,以查看这六个在哪里调用。

我的猜测是两个并发客户端使用相同的连接,这就是我看到重复的原因。但是,我还有一些我无法理解的问题:

a) 为什么数据包损坏?随机网络侥幸——也许吧?使用此示例代码对负载进行 gzip 压缩:http: //msdn.microsoft.com/en-us/library/ms751458.aspx - 当同时使用时,代码会偶尔出现错误吗?我应该在没有 gzip 库的情况下进行测试。

b) 为什么在损坏的操作超时后我会看到第 1 步和第 2 步正在运行?在我看来,这些操作似乎不应该发生。也许我没有看到正确的流,因为我对 TCP 的理解是有缺陷的。我有其他同时发生的流。我应该调查其他流 - 快速浏览流 190-194 表明 Step3 POST 具有正确的有效负载数据(未损坏)。促使我再次查看 gzip 库。

0 投票
3 回答
160849 浏览

sql - 在 SQL Management Studio 中更改 CommandTimeout

如何更改 SQL Management Studio 中的 CommandTimeout?

0 投票
4 回答
5119 浏览

sql-server - 非常简单的存储过程会超时

我对这个存储过程有一个问题,它在整个应用程序中 99% 的时间都在工作,但是当从应用程序的特定部分调用时会超时。

该表只有 3 列,包含大约 300 条记录。存储过程只会带回一条记录,看起来像这样

“从表中选择 * 列 = @参数”

当 sp 在 management studio 中执行时,它需要 :00 秒。

存储过程在我们的应用程序中被大量使用,但似乎只在我们程序的一个特定部分超时。我想不出为什么这么简单的 sp 会超时。有任何想法吗?

这是一个 vb.net 桌面应用程序,使用 sql server 2005。

0 投票
2 回答
2980 浏览

java - 发生 TimeoutException 时 JVM 不退出

我有代码需要做这样的事情

有一个类列表,每个类都有一些方法(比如说 execute())。我需要在每个类上调用该方法,并且每次调用都有一个固定的 timeOut。现在,该类的其中一个执行方法写得不好,导致超时,导致 jvm 不退出。我正在这样上课。

为什么jvm在代码执行完成后不退出?

我得到以下输出

第二类的执行超时,之后第三类的执行也超时。为什么第三类的执行超时?

执行完成后jvm不退出。是什么原因?还有为什么TestClass3执行超时?

0 投票
2 回答
974 浏览

c# - TimoutException 通过网络而不是本地发生

我有一个包含三个 WCF 服务的程序,当我在本地运行它们时(即:服务器和客户端都在本地主机上),一切正常。但是,当我通过网络测试它们时,我在两个服务上得到了 TimoutException,但另一个没有。我已经禁用了参与测试的所有机器上的防火墙。我既可以 ping 服务器,也可以从客户端访问 wsdl“您已创建服务”网页

工作的服务使用带流的 BasicHttpBinding,而两个不工作的服务使用 WSDualHttpBinding。使用 WSDualHttpBinding 的服务都有 CallbackContracts。对于这个问题的含糊之处,我深表歉意,但我不确定要包含哪些代码,甚至不确定从哪里开始寻找解决方案。

非工作绑定:

异常堆栈跟踪:

0 投票
3 回答
1677 浏览

wcf - 在 WCF 中,超时是否会导致通道出错?

在 WCF 中,请求-响应操作的超时是否会使客户端的通道出错?

如果服务器在发送响应时超时,是否是服务器端的通道故障?

0 投票
1 回答
1209 浏览

c++ - 为什么定时锁不会在 C++0x 中抛出超时异常?

C++0x 允许在达到给定时间之前锁定互斥体,并返回一个布尔值,说明互斥体是否已被锁定。

在某些情况下,我考虑了一种异常情况,即锁定由于超时而失败。在这种情况下,应该更适合例外。

为了有所作为,可以使用函数 lock_until 在达到锁定之前的时间时获取超时异常。

您认为 lock_until 在某些情况下应该更合适吗?如果是,在哪些方面?如果不是,为什么 try_lock_until 总是更好的选择?

0 投票
1 回答
4275 浏览

ruby-on-rails - 如何调试随机 Timeout::Error: execution expired

我们使用的是 Rails 2.3.5,并且一直在经历看似随机的 Timeout::Error: execution expired 错误。Hoptoad 报告的错误在任何特定控制器中都不一致,并且从用户会话到帐户设置再到我们的一些核心功能控制器,无处不在。

绝大多数请求不会超时,但足以引起关注。

这是正常的吗?如果是这样,有哪些事情可以减少发生率?如果没有,有没有人遇到过这个问题,有哪些常见问题会触发这样的错误。