一段时间以来我们对dotNET、CLR、COM、COM+存在一些模糊不清的概念,dotNET是Microsoft定义的下一代的开发平台。CLR(Common Language Runtime)是dotNET的核心和心脏,也是Microsoft对ECMA规范的一个Windows平台的实现。COM(Component Object Model)是一个组件对象模型,提供了组件之间交互和作用的基本机制和原则,它是一项组件开发技术和编程模型。COM+是一个组件运行环境,是提供了一系列有关分布式系统功能的Services集合的组件运行环境和工具包。CLR替代了COM,但是无法也没有替代COM+,COM+现在叫.NET Enterprise Services,当然如果不带.NET的前缀,Enterprise Services最能体现COM+的作用和定义。CLR离应用层近一些,而COM+离操作系统更近一些,对于最近的Windows.NET的操作系统对COM+进行的一系列增强:Application Partitioning、Application Pooling and Recycling、Resource Manager、Configurable Transaction Isolation Level、Web Services等等(详见Juval Lowy的文章)来说,有些低级的程序API,CLR还根本无法有相应的功能提供,还需要wrapping 这些新的COM+ APIs。当然不能肯定未来的未来,这些COM+的API是用C#或其它的CLR-managed API直接实现。目前可以说,如果以前你用COM技术在COM+环境下工作的很好(或者很痛苦),那么现在用CLR在COM+下工作起来一样也很好,并且要方便,快捷;dotNET使得开发人员使用COM+更加方便和有效率,这就如同许多年以前从字符键盘界面(COM)引入图形鼠标界面(dotNET)是对计算机的使用(COM+)的一场革命一样。
来自:
http://www.host01.com/article/Net/00020003/2006080521511588.htm