|
移植MTS包到COM+
如果被遷移的ASP應(yīng)用使用到了ASP組件和事務(wù),可能用到了MTS包組合組件。Windows 2000中將MTS集成到COM+中,而由Component Services(組件服務(wù))處理組件包,MTS包也被COM+所替代。好在你可以使用Windows 2000提供的兩種技術(shù)的一種很容易的將MTS包遷移到COM+應(yīng)用,至于使用那種技術(shù),視乎你是升級(jí)操作系統(tǒng)還是安裝了新的操作系統(tǒng)。
如果操作系統(tǒng)使由NT升級(jí)到2000的,MTS包會(huì)通過(guò)安裝工具M(jìn)TSTOCOM自動(dòng)升級(jí)到COM+應(yīng)用。轉(zhuǎn)換過(guò)程中的任何錯(cuò)誤都會(huì)在安裝過(guò)程中記錄下來(lái),可以察看位于Windows路徑下的Mtstocom.log文件獲得相關(guān)的信息。
如果是安裝新的操作系統(tǒng),可將MTS包導(dǎo)出為MTS包文件(MTS Package File ,擴(kuò)展名為 .pak 類(lèi)型)以便遷移到新操作系統(tǒng)上。要為MTS包創(chuàng)建新的COM+應(yīng)用,可依循下面的步驟:
打開(kāi)Administrative Tools中的Component Services。 展開(kāi)目錄樹(shù),選中COM+ Applications,點(diǎn)擊右鍵。 在彈出的菜單中選擇New Application,運(yùn)行COM Application Install Wizard。 選擇“Install pre-build application(s)”選項(xiàng)。 選擇相應(yīng)的MTS包文件。
重復(fù)2-5的步驟移植其他的組件。 在導(dǎo)入的期間,會(huì)創(chuàng)建新的COM+應(yīng)用程序,所有MTS包的組件和角色(Roles)都會(huì)自動(dòng)的添加到組件中。另外,如果用戶導(dǎo)出到MTS包文件,而且允許它們導(dǎo)入,Component Services會(huì)自動(dòng)的創(chuàng)建角色關(guān)聯(lián)的用戶(和它的權(quán)限)。
遷移到COM Services環(huán)境下的MTS組件和它們?cè)贜T下的表現(xiàn)是一樣的。如果組件原來(lái)支持事務(wù)處理,那么它現(xiàn)在仍舊支持事務(wù)處理。如果它原來(lái)在NT中負(fù)擔(dān)一部分JIT(Just-In-Time)工作,在2000中仍舊作同樣的工作。但是,遷移過(guò)來(lái)的組件并不會(huì)因?yàn)檫w移而自動(dòng)的獲得COM+的新特性,如對(duì)象緩沖(Object Pooling)和隊(duì)列(Queuing)。原因我們?cè)诤竺娴恼鹿?jié)討論。
Windows 2000中ASP組件的變化
如果在ASP應(yīng)用中有一個(gè)區(qū)域會(huì)因?yàn)榛诓煌牟僮飨到y(tǒng)而受到影響,那就是ASP組件;旧螦SP組件也是MTS組件,而MTS已經(jīng)被集成到COM+這個(gè)新環(huán)境中。此外,COM+如何管理組件發(fā)生了很重要的變化,如對(duì)象緩沖(Object Pooling)隊(duì)列(Queuing)和其他一些新選項(xiàng)?紤]到這些,你可能相當(dāng)驚訝可以很容易的將組件遷移到Windows 2000中。為了解釋這些,我們將演示一下用Visual Basic 6.0和Visual C++ 6.0創(chuàng)建遷移組件。首先,我們要在Windows 2000中建立測(cè)試的環(huán)境。
第一步要在開(kāi)發(fā)的計(jì)算機(jī)上安裝Visual Studio 6.0和Visual Studio Service Pack 3(本文發(fā)表后才發(fā)布Visual Studio Service Pack 4.0)。在安裝完畢后,打開(kāi)Visual C++,然后關(guān)閉程序。
至于為什么這樣做,稍后解釋。
如果要使用Visual Studio開(kāi)發(fā)ASP組件,尤其使用Visual C++,你需要安裝2000年1月號(hào)(或以后)的Platform SDK。通過(guò)以下網(wǎng)址可以訪問(wèn)MSDN Online SDK中的Platform SDK。(http://msdn.microsoft.com/downloads/sdks/platform/default.asp);如果你訂閱了宇宙版或?qū)I(yè)版的MSDN,可以從相關(guān)的CD上安裝。
在安裝Platform SDK的時(shí)候,可以自行選定合適的組件進(jìn)行安裝。但是至少要安裝Configuration Options,它包括Integrate with Visual C++;以及Build Environment。如果硬盤(pán)空間不是負(fù)擔(dān)的話,強(qiáng)烈建議安裝文檔。安裝Build Environment會(huì)安裝COM+所需的庫(kù)和頭文件,集成的選項(xiàng)實(shí)質(zhì)上是通過(guò)將Platform SDK的庫(kù)和頭文件加入作為包含和源文件的路徑的第一個(gè)實(shí)體將它們和Visual C++集成的。
有趣的是如果選擇了Integrate with Microsoft Visual C++的選項(xiàng),Visual C++必須在這之前先打開(kāi)一次才能保證這個(gè)過(guò)程進(jìn)行的正確。如果沒(méi)有先打開(kāi)Visual C++一次的話,路徑會(huì)添加到其它的Visual Studio安裝時(shí)添加的路徑的后面,而不是出現(xiàn)在列表的第一位,你需要手動(dòng)的進(jìn)行調(diào)整將它們移動(dòng)到包含和庫(kù)文件路徑的第一位。稍后,你就會(huì)明白為什么要將Platform SDK庫(kù)和包含文件放到第一位。
在Platform SDK安裝完成后,就可以開(kāi)始工作了。首先我們來(lái)看看基于Visual Basic的組件遷移到Windows 2000后發(fā)生了什么。
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!