使用COM +在MSXML和.Net之间进行交互

时间:2012-04-02 14:47:07

标签: c# .net com interop com+

我需要创建一个具有以下两个要求的.Net C#组件:

  1. 将XML和XSL路径作为输入参数应返回HTML字符串。
  2. 需要使用MSXML XSLT处理器实现XSLT引擎 *
  3. 通过COM Interop使用MSXML可能是一种选择,但我发现这篇关于该主题的可怕知识库文章说:

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

      

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

    在进程外MSXML包中使用COM+是否可以更安全地从.NET应用程序访问MSXML? 正如我的要求所述,我不需要将MSXML类或接口作为输入/输出参数来处理,而只需处理普通的字符串。

    *代码库由数千个在MSXML XSLT引擎(MSXML 4.0)上正常运行的XSL文件组成,但是对于pickier System.xml .Net库提供了更多错误。 功能

1 个答案:

答案 0 :(得分:3)

是的,您可以创建一个out-of-process COM+ application,然后使用System.EnterpriseServices namespaceWCF中的类(我个人而言),以连接到COM +应用程序。

当然,这意味着你必须使用 .NET之外的其他技术来托管你的组件,但它可能是最简单的方法来实现与.NET的进程隔离和互操作性。 -the-框。