[摘要] 本文用一實(shí)例討論了在.NET集成開(kāi)發(fā)環(huán)境中與COM+結(jié)合進(jìn)行分布式事務(wù)處理的方法及應(yīng)用。
[關(guān)鍵詞] .NETCOM+分布式事務(wù)處理
隨著信息技術(shù)的日益發(fā)展,各種數(shù)據(jù)量的增大,數(shù)據(jù)間的關(guān)系日益復(fù)雜,保證數(shù)據(jù)的完整性與一致性顯得十分重要。用戶不希望從轉(zhuǎn)處賬戶上劃走一筆錢而在轉(zhuǎn)入賬戶上卻看到。利用分布式事務(wù)處理可以避免這種錯(cuò)誤。
一、.NET與COM+的關(guān)系
分布式事務(wù)處理是對(duì)地域分布相同或不同的計(jì)算機(jī)上多個(gè)不同類型數(shù)據(jù)數(shù)據(jù)源的處理。COM+是強(qiáng)大的事務(wù)處理模型,融合了分布式事務(wù)處理和組件編程的優(yōu)勢(shì),在.NET framework中有為COM+執(zhí)行的.NET基類(ServicedComponent)。要使用COM+事務(wù)處理的.NET 類,必須先建立:從基類繼承來(lái)的.NET類;將.NET事務(wù)處理支持屬性應(yīng)用于類聲明;應(yīng)用程序集級(jí).NET屬性規(guī)定COM+的應(yīng)用配置。在COM+事務(wù)處理的后,主要靠調(diào)用ContextUtil方法、設(shè)置ContextUtil屬性、在類定義中應(yīng)用AutoComplete屬性等三種技術(shù)來(lái)控制處理結(jié)果。
二、.NET中分布式事務(wù)處理實(shí)例
從SQLServer服務(wù)器“BankSA”中轉(zhuǎn)賬到SQLServer服務(wù)器“BankSB”的轉(zhuǎn)賬過(guò)程。
BankSB.cs(賬戶B事務(wù)處理類)
BankSA.cs(賬戶A事務(wù)處理類)
//銀行A的賬戶更新程序
…(類似于賬戶B事務(wù)處理的語(yǔ)句)
//更新賬戶數(shù)據(jù)
//插入一行交易記錄
//定義一相操作賬戶B的類的新實(shí)例并將更新數(shù)據(jù)應(yīng)用到銀行B
三、結(jié)束語(yǔ)
隨著社會(huì)信息化進(jìn)程的加快,對(duì)大量數(shù)據(jù)的處理要求一致性、完整性、準(zhǔn)確性,這對(duì)整個(gè)處理系統(tǒng)的性能具有決定性的影響。隨著開(kāi)發(fā)平臺(tái).NET Framework的逐漸推廣,.NET結(jié)合COM+的分布式事務(wù)應(yīng)用必將得到很大發(fā)展。
參考文獻(xiàn):
[1]美Matthew Bortniker等著袁勤勇等譯:VB.NET事務(wù)處理高級(jí)編程[M].北京:清華大學(xué)出版社,2002~7
[2]美 Burton Harvey等著康博譯:c#程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社, 2002~3
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。