什么是COM技术的当前模拟?

时间:2010-09-30 13:41:42

标签: c# .net wpf com

COM技术似乎已经过时了,但仍在使用中。但是,在构建.NET应用程序时,特别是在WPF中,建议采用什么方法来实现相同类型的互操作性?

即。什么是COM对象的现代替代品?

4 个答案:

答案 0 :(得分:8)

.NET非常希望成为COM的替代品。该项目正在进行中有许多名称,但它的起点是“COM +”。这种影响在许多地方仍然很明显。 CLR的许多核心源代码文件都以名称“com”开头,即使CLR使用(几乎)根本没有COM。托管异常的Windows异常代码为0xE0434F4D。代码的最后3个字节值是“COM”的ASCII。

WCF取代的断言并不准确。它取代了.NET Remoting。 COM具有非常广泛的范围,它是一个通用的互操作工具,很像CLR允许多种语言进行互操作。它的一个特性是支持不同进程和机器之间的互操作,也许是声明的来源。但这仅仅是其中的一部分。

仍有许多COM应用程序尚未被.NET取代。最好的例子是Windows shell,Explorer.exe。很难做到像在C#中创建上下文菜单shell扩展一样简单的事情。直到.NET 4.0强烈反对。

答案 1 :(得分:7)

一般来说,.NET 本身是COM的替代品,COM对象的替代品是.NET程序集。例如,参见Don Box和Chris Sells的the highly suggestive chapter title of this early .NET book(他们可以非常肯定地知道他们在谈论什么......)

答案 2 :(得分:5)

  

现在推荐什么方法   实现同样的   构建.NET时的互操作性   app,特别是在WPF中?

它被称为WCF

  

WCF根据面向服务的体系结构原则设计,以支持消费者使用服务的分布式计算。

答案 3 :(得分:2)

查看this wikipedia article中的第一段。

WCF是COM的现代替代品。