2012-04-02 62 views
3

我需要创建这两个要求的.Net C#组件:使用COM +

  1. 给人一种XML和XSL的路径作为输入参数应该返回一个HTML字符串。
  2. 的XSLT引擎需要通过COM Interop使用MSXML XSLT处理器*

使用MSXML可能是一个选项来实现,但我发现关于这个问题的这个可怕的知识库文章,上面写着:

815112 INFO:MSXML的使用不支持.NET应用程序
http://support.microsoft.com/kb/815112

MSXML使用与.NET Framework不兼容的线程模型和垃圾收集机制,这些机制与 不兼容。在.NET中使用MSXML 通过COM互操作性的应用程序可能会导致难以调试的意外 问题。

能在外面的进程COM+包使用MSXML是从.NET应用程序访问MSXML一个更安全的方法是什么?
正如我的要求所述,我不需要将MSXML类或接口作为输入/输出参数,而只需简单的香草串。

*代码库包含成千上万个运行MSXML XSLT引擎(MSXML 4.0)罚款,但给出比错误更符合挑剔System.xml NET库XSL文件。

+1

我不明白为什么不使用其中一个内置xml库?你说system.xml给你带来麻烦。也许调试System.Xml所遇到的问题会更容易。另外,如果你有(最有可能)格式化问题,你不能“预处理”这些文件吗? – 2012-04-02 15:13:03

+1

我同意100%@ MaximGershkovich-我不禁想象,用内置的XML库修复你的问题将会产生一个更加稳定和性能更好的代码库。 – 2012-04-02 15:22:08

+0

@systempuntoout *什么*错误? XML/XSLT是一个非常明确的系统 - 你不应该看到这些库之间的差异。这并不是说我们试图变得无用 - 更像是试图指引你走向电梯的方向而不是楼梯。 – 2012-04-02 15:31:49

回答