2009-08-26 9 views
1

私はC#サービスを持っています。それはメモリとCPUのブタです。それはデータベース内のデータを移動させ、一晩中実行されます。 7年頃には servnameのサービスからのトランザクション応答の を待っているイベントビューア、繰り返し、イベントビューアでトランザクション応答を待っているC#サービスタイムアウト(30000ミリ秒)

タイムアウト(30000ミリ秒)に投稿しています。

突然停止します。誰かがこのメッセージの意味、またはそれを診断する方法についてのインプットを持っていますか?

更新1

DBトランザクションはタイムアウトされていません。サービス管理コンソールは、サービスを制御しようとしていることについてこのメッセージを記録しています。ここ

アップデート2

問題は、データベース・アクセスとは何の関係もありません。サービス管理コンソールは、サービスを制御しようとしているときにエラーをスローします。

+0

[この記事](http://support.microsoft.com/kb/814626)あなたに役立つかもしれません。 – malay

答えて

0

トランザクションが30秒以上続くとします。

は、のようなものトランザクションを送信してください: (...のTransactionScope)を使用して

をもっと何かを挿入何か スリープ30秒に を挿入します。

同じ結果が得られるはずです。その場合は、トランザクションのタイムアウトを最適化または構成してください。

希望します。

よろしくお願いいたします。

0

これは奇妙なオフベースの提案のように思えるかもしれませんが、データベースのトランザクションログ領域が不足していますか?

0

同じ問題がありました。あなたは正しいです、これはデータベースとは関係ありません。私はあなたがWindows Server 2008またはVistaを実行していると仮定し、あなたのアプリは何とかマルチスレッドです。あなたのサービスのメインスレッドは30秒に制御を返すことに失敗した場合、この問題が発生した

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

1

はこれを試してみてください。しかし、あなたのタスクマネージャをチェックすると、サービスexeはバックグラウンドで実行されます。

ソリューションは、サービスの主な機能がタイムアウト期間内に戻ってくることを保証することです。

-Surya

関連する問題