2009-08-26 5 views
1

Ich habe einen C# -Dienst. Es ist ein Speicher und CPU-Schwein. Es wird die ganze Nacht laufen und Daten in der Datenbank verschieben. Rund um 7 Uhr an die Ereignisanzeige veröffentlichen, wiederholt,C# Service Timeout (30000 Millisekunden) Warten auf eine Transaktionsantwort in der Ereignisanzeige

Timeout (30000 Millisekunden) für eine Transaktionsantwort des servname Service warten.

Dann stoppt es unerwartet. Hat jemand Informationen darüber, was diese Nachricht bedeutet oder wie man sie diagnostiziert?

aktualisieren 1

Die DB-Transaktionen sind Zeit nicht aus. Die Service Management Console protokolliert diese Nachricht über den Versuch, den Dienst zu steuern.

Update 2

Die hier Problem hat nichts mit dem Zugriff auf die Datenbank zu tun. Es ist die Serviceverwaltungskonsole, die den Fehler wirft, während sie versucht, den Dienst zu steuern.

+0

[Dieser Artikel] (http://support.microsoft.com/kb/814626) könnten hilfreich für Sie sein. – malay

Antwort

0

Ich nehme an, die Transaktion dauert länger als 30 Sekunden.

mit (Transaction ...) Einsatz etwas Schlaf 30 Sekunden Einsatz etwas mehr:

Versuchen Sie, eine Transaktion, so etwas wie zu senden.

Es sollte Ihnen das gleiche Ergebnis geben. Wenn ja, versuchen Sie, das Transaktionszeitlimit zu optimieren oder zu konfigurieren.

Hoffe, das hilft

Grüße.

0

Das mag wie ein seltsamer, off-base Vorschlag erscheinen, aber ... hat die Datenbank keinen Speicherplatz mehr im Transaktionsprotokoll?

0

Hatte das gleiche Problem. Sie haben recht, das hat nichts mit der Datenbank zu tun. Ich nehme an, dass Sie Windows Server 2008 oder Vista ausführen und dass Ihre App irgendwie multi-threaded ist.

Versuchen Sie folgendes:

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

1

Dies geschieht, wenn der Haupt-Thread des Service die Kontrolle in 30 Sekunden zurück ausfällt. Wenn Sie jedoch Ihren Aufgabenmanager überprüfen, wird Ihre Dienstprogrammierung immer noch im Hintergrund ausgeführt.

Die Lösung besteht darin, sicherzustellen, dass die Hauptfunktion Ihres Dienstes innerhalb der Zeitüberschreitung zurückkehrt.

-Surya