gpt4 book ai didi

c# - 使用 COM+ 在 MSXML 和 .Net 之间互操作

转载 作者:行者123 更新时间:2023-11-30 16:25:22 29 4
gpt4 key购买 nike

我需要根据以下两个要求创建一个 .Net C# 组件:

  1. 将一个 XML 和一个 XSL 路径作为输入参数应该返回一个 HTML 字符串。
  2. XSLT 引擎需要使用 MSXML XSLT 处理器来实现*

通过 COM Interop 使用 MSXML可能是一种选择,但我发现这篇关于该主题的可怕知识库文章说:

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

MSXML uses threading models and garbage-collection mechanisms that are not compatible with the .NET Framework. Using MSXML in .NET applications through COM interoperability can result in unexpected problems that are difficult to debug.

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

* 代码库由数千个 XSL 文件组成,这些文件在 MSXML XSLT 引擎 (MSXML 4.0) 上运行良好,但在选择器 System.xml< 中给出的错误不止一个 .Net 库。

最佳答案

是的,您可以创建一个 out-of-process COM+ application然后使用 System.EnterpriseServices namespace 中的类或 WCF (我个人会这样做)连接到 COM+ 应用程序。

当然,这意味着除了 .NET 之外,您还必须使用一些其他技术 来托管您的组件,但这可能是获得进程隔离和与 .NET 的互操作性的最简单方法-开箱即用。

关于c# - 使用 COM+ 在 MSXML 和 .Net 之间互操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9978530/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com