我问这是因为我创建了一个Windows服务并且看起来在负载很重的情况下(在我的情况下,当Windows启动时)xml中的数据在我手动执行之前没有加载我的情况是检查该数据集中特定数据表中有多少行。
数据集得到了架构。
Speudo代码将是:
dataset.readxml("c:\myfile.xml")
if dataset.datatable1.rowcount is 1
do something
else
do something else
在我的情况下,即使有一行,也会达到其他情况。
如果我之后手动启动服务,因为else case停止了,一切正常。
如果它是同步的,那会导致什么行为呢?
答案 0 :(得分:3)
.NET类中的异步方法遵循BeginSomeAction()/ EndSomeAction()模式,因此我的猜测是ReadXml()是同步的。根据{{3}},DataSet没有BeginReadXml。
编辑:快速浏览实现表明同步读取,所以除非我错过了它支持我的猜测。