Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml XPathDocument线程问题_Xml_Multithreading_Xpathdocument - Fatal编程技术网

Xml XPathDocument线程问题

Xml XPathDocument线程问题,xml,multithreading,xpathdocument,Xml,Multithreading,Xpathdocument,我有一个web应用程序,试图在其中缓存一个XPathDocument XPathDocument的创建如下所示 XPathDocument xdoc=新建 XPathDocument(新文档) StringReader(ruleXml)) 然后我只想缓存这个xdoc,并为每个请求检索它 然后我打算打电话 XPathNavigator导航= xdoc.CreateNavigator() 在每一条线上 我的问题是这是否是线程安全的。你能吃点什么吗 不同线程上的多个XPathNavigator类具有相

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

XPathDocument的创建如下所示

XPathDocument xdoc=新建 XPathDocument(新文档) StringReader(ruleXml))

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

然后我打算打电话

XPathNavigator导航= xdoc.CreateNavigator()

在每一条线上

我的问题是这是否是线程安全的。你能吃点什么吗 不同线程上的多个XPathNavigator类具有相同的 基础XPathDocument

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


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

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

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