解读.NET Framework中的COM+与MTS

快乐似神仙天蝎

快乐似神仙天蝎

2016-01-29 12:29

解读.NET Framework中的COM+与MTS,解读.NET Framework中的COM+与MTS

  ".NET支持COM吗?"
  "COM+和MTS在.NET上如何存在?"
  ".NET组件和COM组件有什么区别?"
  COM+在.NET中依然存在,如果应用程序确实需要使用COM+和MTS的功能特性,那么可以选择合适的技术与.NET组件协同工作。实际上,组件是任何类型解决方案的一部分,不管是分布式解决方案还是非分布式。组件在.NET环境中非常类似一个COM组件,它们都是DLL,包含一个或多个类,能够被其他应用程序实例化。两者主要的不同点在于它们的实现方法,这里我们不去详细讨论技术细节。
  在应用程序中考虑使用什么样的组件有多种选择。使用COM+还是MTS。COM+和MTS都能够与COM组件协同工作。因此,当创建一个组件时,该组件必须符合COM的二进制标准,而且需要在使用之前向注册表注册。
  .NET Framework通过COM Interop(COM互操作)技术支持COM+和MTS。一个传统的COM应用程序能够调用一个.NET组件,同时.NET组件(在.NET中称为.NET Assembly)也能够调用一个COM组件。这一非常强大的双向互操作特性使你可以在应用程序中混合使用两类技术。
  COM+与MTS是与COM组件协同工作的。当你放置一个.NET组件到到一个MTS包或者一个COM+应用程序中,该组件仍然能够以同样的方式被一个.NET应用程序调用,此时,你不会意识到COM+和MTS的存在。
  下面我们来看一看在使用COM Interop时的性能开销。.NET和COM使用不同的执行机制(.NET使用通用语言运行时,Common Language Runtime,而COM则不是)。.NET组件和COM组件在不同的标准上实现(.NET组件使用通用类型标准,而COM使用二进制标准)。两者之间的互相调用会增加一些性能开销,事实上,每执行一次互操作调用大约花费20到30条CPU指令。当你调用一个存在于COM+中的类方法时,每次调用都会出现这些性能方面的开销。
  如果一定要使用COM+和MTS的功能特性,请把组件存放于COM+和MTS中并确认你需要所有功能特性。如果组件只在一个数据库中执行事务处理,而且一直都在单个数据库环境中工作,那么不需要在使用COM+来完成事务管理,仅仅使用ADO.NET就可以了。反之,如果需要多个数据库间的对象池和事务处理支持,那么应用程序就需要COM+和MTS。
展开更多 50%)
分享

猜你喜欢

解读.NET Framework中的COM+与MTS

电脑网络
解读.NET Framework中的COM+与MTS

.NET Framework与.NET Framework SDK有什么不同?

Web开发
.NET Framework与.NET Framework SDK有什么不同?

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在Delphi中如何维护COM+的状态信息

编程语言 网络编程
在Delphi中如何维护COM+的状态信息

在Delphi7中调试COM+

编程语言 网络编程
在Delphi7中调试COM+

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

与Visual Basic .NET一起使用.NET Framework

vb
与Visual Basic .NET一起使用.NET Framework

更新MFC中的视图 跟踪.NET Framework中的事件

C语言教程 C语言函数
更新MFC中的视图 跟踪.NET Framework中的事件

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《天天炫斗》紫装和橙装武器差距解析

《天天炫斗》紫装和橙装武器差距解析

使用 <multimap> 库创建重复键关联容器

使用 <multimap> 库创建重复键关联容器
下拉加载更多内容 ↓