1

我有一个 C# 服务。它是内存和 CPU 猪。它将运行一整夜,移动数据库中的数据。早上 7 点左右,它反复发布到事件查看器,

等待来自 ServName 服务的事务响应的超时(30000 毫秒)。

然后它意外地停止了。是否有人对此消息的含义或如何诊断有意见?

更新 1

数据库事务没有超时。服务管理控制台正在记录有关尝试控制服务的消息。

更新 2

这里的问题与数据库访问无关。这是服务管理控制台在尝试控制服务时抛出错误。

4

4 回答 4

1

如果您的服务的主线程未能在 30 秒内返回控件,则会发生这种情况。但是,如果您检查任务管理器,您的服务 exe 仍将在后台运行。

解决方案是确保您的服务的主要功能在超时期限内返回。

-苏里亚

于 2011-03-21T12:54:11.220 回答
0

这似乎是一个奇怪的、偏离基础的建议,但是......数据库是否已用完事务日志空间?

于 2009-08-26T15:02:56.410 回答
0

有同样的问题。你是对的,这与数据库无关。我假设您正在运行 Windows Server 2008 或 Vista,并且您的应用程序是多线程的。

尝试这个:

http://support.microsoft.com/kb/972596/

于 2009-11-03T05:00:11.623 回答
0

我想交易持续时间超过 30 秒。

尝试发送交易,例如:

使用 (transactionscope...) insert something sleep 30 seconds 插入更多内容。

它应该给你同样的结果。如果是这样,请尝试优化或配置事务超时。

希望这可以帮助

问候。

于 2009-08-26T14:46:11.413 回答