根据MSDN,XmlSchemaSet
类不保证是线程安全的。是否允许在多个XmlReader/XmlWriter对象之间共享XmlSchemaSet?
那么多个XmlReader
对象可以创建一个对象引用一个XmlSchemaSet
对象,并从多个线程并发使用一个对象?或者这是否意味着我需要创建一个新的对象,并在每次需要在后台处理新文档时为其分配一个新副本XmlSchemaSet
?
看起来像这样会很浪费。特别是因为XmlSchemaSet
需要重新编译每个新文档的模式。
XmlWriter
对象的答案是否一样?
当然,我不会在最初填充对象后修改XmlSchemaSet
对象。在首次使用之前,我也会调用Compile
方法。之后,它似乎似乎像一切应该是安全的,因为只有读取会执行,但我不知道。
@ mjwills对不起,我离开电脑。是的,两个答案都证实了我害怕的事情:不要依赖这一点,即使可能多读者,零写作者场景可以工作。现在决定哪一个标记为接受... –