Вопрос

Я спрашиваю об этом, потому что я создал службу Windows, и кажется, что при большой нагрузке (которая в моем случае возникает при загрузке Windows) данные внутри xml не загружаются до того, как я вручную что-то с ними сделаю, в моем случае проверяется, сколько строк находится в определенной таблице данных внутри этого набора данных.

Dataset получил схему.

Код Speudo был бы:

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

В моем случае это относится к регистру else, даже если есть одна строка.

Если после этого я запущу службу вручную, потому что в противном случае она остановится, все будет работать нормально.


Если это синхронно, что может вызвать такое поведение?

Это было полезно?

Решение

Асинхронные методы в .Классы NET следуют шаблону BeginSomeAction() / EndSomeAction() , поэтому я предполагаю, что ReadXml() является синхронным.В соответствии с Документация для DataSet нет BeginReadXml .

Редактировать:Быстрый просмотр реализации указывает на синхронное чтение, так что, если я чего-то не упустил, это подтверждает мое предположение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top