Веб-приложение использует XML из веб-службы, который затем преобразуется в HTML с помощью XSLT. Приложение использует HttpModule для получения XML с использованием AddOnPreRequestHandlerExecuteAsync.
Используемые классы:
XmlDocument - хранит XML.
XslCompiledTransform - хранит преобразование, кэшируется в приложении.
Асинхронный запрос HttpWebRequest с использованием BeginGetResponse / EndGetResponse
HttpModule с перехваченными событиями AddOnPreRequestHandlerExecuteAsync.
Я не хочу использовать XPathDocument, если нет других возможных оптимизаций. Требуется сложный код, чтобы собрать весь XML без возможности записи в XmlDocument. Существует дополнительный XML-код, который не поступает от веб-службы, который также необходимо добавить в документ.
Любые предложения были бы хорошими. У сервера, похоже, нет проблем с памятью, если это о чем-то говорит, просто очень высокая загрузка процессора.
Спасибо.
UPDATE
После долгих поисков я обнаружил, что проблема, приводящая к гонке процессора, на самом деле была бесконечным (или почти) циклом, которого вообще не было в моем коде, и он был скрыт от моего профилирования из-за характера его появления. , Урок здесь, если он не имеет смысла, поищите альтернативное обоснование проблемы, прежде чем разрывать код на части.