Frage

Ich frage, weil ich einen Windows-Dienst erstellt und es scheint, dass unter hohen Last (was in meinem Fall, wenn Windows hochfährt) die Daten innerhalb des xml nicht geladen werden, bevor ich Dinge manuell tut mit ihm in meinem Fall ist die Überprüfung, wie viele Zeilen sind in einer bestimmten Datentabelle innerhalb dieses Datensatzes.

Datensatz bekam ein Schema.

Speudo Code wäre:

dataset.readxml("c:\myfile.xml")
if dataset.datatable1.rowcount is 1 
    do something
else
    do something else

In meinem Fall ist es den sonst Fall erreichen, selbst wenn es eine Zeile ist.

Wenn ich den Dienst manuell nach dem Start, da der sonst Fall aufhören, alles gut funktionieren.


Wenn es synchron, was dieses Verhalten verursachen könnte?

War es hilfreich?

Lösung

Asynchrone Methoden in den .NET-Klassen folgt dem die BeginSomeAction () / EndSomeAction () Muster, so meine Vermutung ist, dass ReadXml () synchron ist. Nach dem Dokumentation gibt es keine BeginReadXml für DataSet.

EDIT: Eine schnelle Blättern Sie durch die Implementierung gibt einen synchronen Lese, so dass, wenn es etwas, was ich verpasst haben es meine Vermutung unterstützt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top