如果你现在开发的系统不需要使用旧系统的com组件,那么我觉得没必要掌握com;但com+提供的服务还是要学习的(就目前来看),现在大部分.net应用都使用了com+的服务,微软做的petshop也用到了com+。

解决方案 »

  1.   

    COM 在以下几个重要方面与 .NET 框架对象模型存在差异: COM 对象的客户端必须管理这些对象的生存期;公共语言运行库管理其环境中各对象的生存期。 
    COM 对象的客户端通过对提供服务的接口发出请求并取回接口指针来发现服务是否可用。.NET 对象的客户端可以使用反射来获取对象功能的说明。 
    .NET 对象驻留在由 .NET 框架执行环境管理的内存中。为了提高性能,执行环境可以将对象在内存中来回移动,并更新对所移动对象的任何引用。非托管客户端在获取指向对象的指针后,将依赖于该对象来保持其位置不变。这些客户端没有相应的机制来处理位置不固定的对象。 
    为了克服这些差异,运行库提供了包装类,使托管和非托管客户端认为它们是在其各自的环境中调用对象。每当托管客户端对某个 COM 对象调用方法时,运行库就会创建一个运行库可调用包装 (RCW)。RCW 的功能之一是抽取托管和非托管引用机制之间的差异。运行库还会创建一个 COM 可调用包装 (CCW) 来逆转此过程,使 COM 客户端能够对 .NET 对象无缝地调用方法。
      

  2.   

    同意楼上的,C#.net中就可以引用com组件,学习com组件还是有前途的
    正在努力中……
      

  3.   

    现在就是有几点不大明白:.NET组件到底是个什么东西?在使用VS.NET编程的时候那些属于这一范畴?.NET组件是否可以实现COM组件所能够实现的功能,开发方法有时如何?两者在本质上是否是同一概念,也就是说.NET组件是否会取代COM?总之就是对.NET组件这个名词很模糊。能介绍基本好书马??