0

我正在研究一个类库,其中一个类负责使用XDocument.Load(url)从 Internet 检索 Xml 文件。鉴于此操作可能需要几秒钟才能完成,因此在它自己的线程上运行它是有意义的。

创建这个线程是谁的责任?检索文件的消费者或类?有没有关于这方面的最佳实践?

4

2 回答 2

5

最佳实践是实现异步模式。这意味着如果你的类有一个LoadXml方法,你也实现了一个LoadXmlAsync方法和某种OnCompleted事件。

你可以在这里阅读

于 2011-06-01T06:21:12.967 回答
2

我认为这两种选择都很好。这还取决于您将使用此方法获取数据的位置。如果它在多个地方使用,那么在检索文件的类中安排线程是完全有意义的。

我个人会选择最后一个,因为如果我需要在更多地方(也许稍后)使用它,那会给我更大的灵活性。

在考虑这个问题时,我想到了前缀方法 BeginDoSomeOperation 和 EndDoSomeOperation ,这将给最后一个选项更多的功劳。

于 2011-06-01T06:22:32.710 回答