У меня есть веб-приложение, в котором я пытаюсь кэшировать XPathDocument .
XPathDocument создается следующим образом.
XPathDocument xdoc = новый
XPathDocument (новый
StringReader (ruleXml));
Затем я хочу просто кэшировать этот xdoc и извлекать его для каждого запроса.
А потом я планирую позвонить
XPathNavigator nav =
xdoc.CreateNavigator ();
на каждую нить.
У меня вопрос, является ли это потокобезопасным или нет. Можете ли вы иметь
несколько XPathNavigator классов в разных потоках с одинаковыми
базовый XPathDocument ?
Если нет, я просто кеширую строку ruleXml и создаю новую
XPathDocument в каждом потоке.
Просто интересно, что люди предлагают в таком сценарии, где я хочу кэшировать документ XML только для чтения, а затем выполнять разные запросы xpath для каждого потока.