在.NET中访问位于另一台计算机上的COM对象(无需使用已弃用的DCOM、远程调用)。

5
我需要将我的.NET服务器应用程序与供应商的产品集成。供应商的产品将位于自己的服务器上,并有一个受支持和文档化的API,但遗憾的是只能作为COM对象使用。由于DCOM和.NET Remoting都被弃用了,是否有一种受支持的方法(即不会在.NET 5中被删除)可以执行此集成,而无需创建和安装网络服务来代理这些请求到COM?请注意,我非常熟悉编写和使用Web服务(尽可能使用REST,必要时使用SOAP)。我只想保持此应用程序的拓扑结构简单,避免双重部署等问题。出于同样的原因,我避免使用WCF,因为它似乎带来了很多开销,但如果WCF支持通过网络公开底层COM接口,我愿意使用它。否则,我想我需要设计、编写、部署和使用这个新的Web服务。请告诉我我不需要这样做!
2个回答

2

我正在研究这两个选项(WCF for COM +,COM + remoting),很快就会报告并选择一个胜利者。谢谢! - Joel P.
我选择采用这个答案,因为它似乎是最不破坏性的。然而,最终我决定咬紧牙关写一个传统的 Web 服务(可能会使用 WCF)。除此之外,我们无法获得供应商支持并且无法信任其他方式完成的产品。谢谢。 - Joel P.

1

您可以将其添加为COM+应用程序,然后从远程计算机访问它。

DCOM可能已被弃用,但COM+没有,并且允许进行远程调用。您需要在客户端使用COM互操作性,以及自定义激活(您将无法仅调用new来创建实例,因为您必须指示远程计算机),但这绝对是可行的。


现在正在研究这两个选项(WCF用于COM+,COM+远程),很快会报告结果并选择一个胜利者。谢谢! - Joel P.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接