1

私は、多数の巨大な XSL 変換を行う .NET 1.1 アセンブリに取り組んでいます。これにより、メモリの問題が発生し始めています。したがって、XSLT エンジンを .NET 2.0 フレームワークで使用したいと考えています。XSLT エンジンの方がはるかに効率的で、リソースの消費が少ないことがわかっているからです。注: .NET 1.1 アセンブリを .NET 2.0 にアップグレードすることは、時間と予算の制約 (私の制御範囲を超える) のため、現時点ではオプションではありません。

XSL 変換を実行できる .NET 2.0 アセンブリを作成し、それを COM+ 相互運用オブジェクトとして公開しました。このオブジェクトを .NET 1.1 アセンブリからロードすると正常にロードされますが、XSL トランスフォームをロードするとすぐに例外が発生し、問題に関する有用な情報が含まれていません。

興味深いことに、.NET 2.0 アセンブリで単純な関連のないテスト メソッド (変換を実行する代わりにイベント ログに書き込むだけのメソッドなど) を呼び出すと、動作するように見えます。

代替アプローチに関するアイデアはありますか? それとも、私が間違っていることは明らかですか?

どんな助けでも大歓迎です!ありがとう!

4

2 に答える 2

1

COM相互運用機能だけで、XSLTを2.0にアップグレードすることで得られるパフォーマンスの向上がすべて失われるのではないかと思います。おそらく、役に立たない例外とも関係があります。

2.0で1.1アセンブリを実行してみましたか?フレームワークの特定のバージョンをターゲットにする方法については、このページを参照してください。基盤となるXSLTエンジンについてはあまり詳しくありませんが、ターゲットを切り替えるだけで2.0のおもちゃが手に入る可能性があり、2.0のパフォーマンスが確実に得られます。

于 2009-06-03T13:54:05.437 に答える