我有一个网络应用程序,我正在尝试缓存 XPathDocument 。
XPathDocument 的创建如下。
XPathDocument xdoc = new XPathDocument中(新 StringReader(ruleXml));
然后我想缓存这个xdoc并为每个请求检索它。
然后我打算打电话给
每个帖子都有XPathNavigator nav = xdoc.CreateNavigator();
。
我的问题是这是否是线程安全的。你有吗? 多个 XPathNavigator 类在不同的线程上具有相同的 基础 XPathDocument ?
如果不是,我将只缓存ruleXml字符串并创建一个新字符串 每个帖子都有 XPathDocument 。
想知道在这样的场景中人们的建议是什么,我想缓存一个xml只读文档,然后在每个线程上执行不同的xpath查询。
答案 0 :(得分:1)
只要文档是只读的,这应该是安全的。将XPathNavigator与XmlDocument或XPathDocument分开的整个目的是能够同时对同一文档进行多次导航。