【发布时间】:2011-04-11 06:52:16
【问题描述】:
我正在开发一个 C# 实用程序,用于更新数据库中的数据表。我的应用程序在 12 小时后停止,显示一个指示 Windows 错误的消息框。
我确信没有内存泄漏。此外,它还停止了大约 12 小时的运行,指示超时过期消息。所以我将 Commandtimeout 属性设置为无穷大。现在这个错误不再显示了。
还有什么可能会在 12 小时后停止该实用程序?这个“Windows 错误”消息是什么意思?
我使用 AppDomain.CurrentDomain.UnhandledException 处理未处理的异常,长时间运行该实用程序后出现以下消息框。
消息框:“超时已过期。在操作完成之前超时时间已过或服务器没有响应”
知道我正在使用 SQLServer2008 R2 并且我已经将所有 commandTimeout 设置为 0。
怎么了?为什么我仍然收到此错误?!
【问题讨论】:
-
MessageBox 错误是什么?
-
“什么可能导致 C# 应用程序在 12 小时后停止”- 错误代码?内存泄漏?
-
分享完整的错误消息并将
EventHandlers添加到事件AppDomain.CurrentDomain.UnhandledException和Application.ThreadException可能会为您提供进一步的线索,了解哪里出了问题。此外,您的数据库连接很可能会终止...当然,如果您将Timeout设置为Infinite,则不会出现错误,因为他会等待很长时间。还要检查您的数据库设置。 -
@Strider007 如果出现请截图消息框
-
Exception.InnerException ad infinitum plus callstacks 可以很好地调试。