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

rem*_*rem 9 .net c# com wpf

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

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

Han*_*ant 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强烈劝阻.


Aak*_*shM 7

在一般意义上,.NET 本身是COM的替代品,COM对象的替代品是.NET程序集.例如,请参阅Don Box和Chris Sells 撰写的这本早期.NET书籍的高度暗示章节标题(他们可以非常肯定地知道他们在谈论什么......)


Joe*_*zer 5

现在建议采用什么方法在构建.NET应用程序时实现相同类型的互操作性,特别是在WPF中?

它叫做WCF

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

  • WCF不会成为DCOM的当前模拟吗? (4认同)