.NET是否使原始COM和DCOM编程冗余?

时间:2008-08-29 10:00:34

标签: .net com com+ dcom

.net框架的引入是否使COM和DCOM中的原始编程变得多余?

(除了使用一些COM +服务,例如通过System.EnterpriseServices命名空间进行事务管理)

5 个答案:

答案 0 :(得分:10)

还没有,因为操作系统仍然没有管理。

如果MS最终完成了他们的实验室多年来一直在讨论的内容并生成一个完全托管的操作系统,那么它将会。

但该操作系统不会向后兼容。他们必须首先生成Office,IE等的托管版本。他们必须生成一个虚拟机来运行非托管应用程序。

痛苦将类似于从Mac OS9迁移到OSX。

答案 1 :(得分:5)

COM是MS实际上编写的最后一项主要技术。 MS正在继续构建依赖于COM的新API;例如,Vista的新媒体基金会(DirectShow的一种继承者,也是基于COM的)是一个COM API。 Direct3D10也是如此(我假设D3D11)。我不认为它会很快消失,对于很多Windows编程任务而言,它根本不是多余的。

答案 2 :(得分:2)

还没有,但从长远来看,我的目标是。显然总会有一个较低级别的地方,但根据我对微软战略的理解,此举是为了尽可能多地替换托管代码。

答案 3 :(得分:1)

我认为这取决于你对'原始'的意思。我仍然觉得有时需要从.Net类库中公开COM API。使得从某些平台迁移到.Net的过程变得更加容易,因为我可以通过COM替换小块。

答案 4 :(得分:0)

.NET一直是故意设计来取代COM(以及因此,DLL Hell),所以当.NET应用程序仍然可以访问COM组件时,所有新开发都被鼓励转移到.NET,除非你有充分的理由坚持使用COM。