根據MSDN,XmlSchemaSet
類不保證是線程安全的。是否允許在多個XmlReader/XmlWriter對象之間共享XmlSchemaSet?
那麼多個XmlReader
對象可以創建一個對象引用一個XmlSchemaSet
對象,並從多個線程併發使用一個對象?或者這是否意味着我需要創建一個新的對象,並在每次需要在後臺處理新文檔時爲其分配一個新副本XmlSchemaSet
?
看起來像這樣會很浪費。特別是因爲XmlSchemaSet
需要重新編譯每個新文檔的模式。
XmlWriter
對象的答案是否一樣?
當然,我不會在最初填充對象後修改XmlSchemaSet
對象。在首次使用之前,我也會調用Compile
方法。之後,它似乎似乎像一切應該是安全的,因爲只有讀取會執行,但我不知道。
@ mjwills對不起,我離開電腦。是的,兩個答案都證實了我害怕的事情:不要依賴這一點,即使可能多讀者,零寫作者場景可以工作。現在決定哪一個標記爲接受... –