1

我有一个 Web 应用程序,我试图在其中缓存一个XPathDocument

XPathDocument创建如下。

XPathDocument xdoc = new XPathDocument(new StringReader(ruleXml));

然后我只想缓存这个 xdoc 并为每个请求检索它。

然后我打算打电话

XPathNavigator 导航 = xdoc.CreateNavigator();

在每个线程上。

我的问题是这是否是线程安全的。您能否在具有相同底层XPathDocument的不同线程上拥有多个XPathNavigator类?

如果不是,我将只缓存 ruleXml 字符串并 在每个线程上创建一个新的XPathDocument 。

只是想知道在这样的场景中人们的建议是什么,我想缓存一个 xml 只读文档,然后在每个线程上执行不同的 xpath 查询。

4

1 回答 1

1

只要文档是只读的,那应该是安全的。将 XPathNavigator 与 XmlDocument 或 XPathDocument 分开的全部目的是能够针对同一个文档同时进行多个导航。

于 2009-04-08T18:14:08.563 回答