Как я могу использовать .NET 2.0 XSLT из приложения .NET 1.1? - PullRequest
1 голос
/ 03 июня 2009

Я работаю над сборкой .NET 1.1, которая выполняет множество огромных XSL-преобразований. Это начинает вызывать проблемы с памятью. Поэтому я хочу использовать механизм XSLT в среде .NET 2.0, поскольку я знаю, что он намного более эффективен и требует меньше ресурсов. Примечание. Обновление сборки .NET 1.1 до .NET 2.0 в настоящее время НЕ подходит, из-за временных и бюджетных ограничений (вне моего контроля).

Я написал сборку .NET 2.0, которая может выполнять преобразования XSL, и представил ее как объект взаимодействия COM +. Когда я загружаю этот объект из сборки .NET 1.1, он загружается нормально, но как только я загружаю XSL-преобразование, возникает исключение, и оно не содержит ЛЮБОЙ полезной информации о том, что пошло не так.

Интересно, что если я вызову более простой, не связанный метод тестирования в сборке .NET 2.0 (например, метод, который просто записывает в журнал событий вместо преобразования), он, похоже, работает.

Есть идеи об альтернативных подходах? Или есть что-то очевидное, что я делаю не так?

Любая помощь будет принята с благодарностью! Спасибо!

Ответы [ 2 ]

1 голос
/ 03 июня 2009

Я подозреваю, что одно только COM-взаимодействие убивает любое повышение производительности, которое вы получите от обновления XSLT до 2.0. Вероятно, также имеет отношение к бесполезному исключению.

Вы пробовали запустить сборку 1.1 под 2.0? См. эту страницу для получения инструкций о том, как настроить таргетинг на конкретную версию платформы. Я не очень хорошо знаком с базовыми движками XSLT, но простое переключение цели может привести вас к игрушкам 2.0, и это определенно даст вам производительность 2.0.

0 голосов
/ 04 июня 2009

Рассмотрим Process.Start () в инструменте msxsl.exe . Он не использует .NET. Или, если вы все равно делаете COM-взаимодействие, рассмотрите MSXML - он тоже делает XSL и БЫСТРО.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...