解讀.NET Framework中的COM+與MTS

發表于:2007-05-25來源:作者:點擊數: 標簽:frameworkCOM+.NET解讀中的
".NET支持COM嗎?" "COM+和MTS在.NET上如何存在?" ".NET組件和COM組件有什么區別?" COM+在.NET中依然存在,如果應用程序確實需要使用COM+和MTS的功能特性,那么可以選擇合適的技術與.NET組件協同工作。實際上,組件是任何類型 解決方案 的一部分,不管是分

  ".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。

原文轉自:http://www.anti-gravitydesign.com

評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97