久久―日本道色综合久久,亚洲欧美精品在线,狼狼色丁香久久婷婷综合五月,香蕉人人超,日本网站黄,国产在线观看不卡免费高清,无遮挡的毛片免费

2023信創(chuàng)獨(dú)角獸企業(yè)100強(qiáng)
全世界各行各業(yè)聯(lián)合起來,internet一定要實(shí)現(xiàn)!

淺談 .NET 里的MTS

2004-02-21 eNet&Ciweek

  事務(wù)處理模式是為參與事務(wù)處理的每個(gè)組件而設(shè)置的。它用來告知MTS說組件所做出的更改是否應(yīng)該被忽略。

當(dāng)事務(wù)處理創(chuàng)建新對(duì)象的時(shí)候,MTS會(huì)查看兩個(gè)信息源來確定事務(wù)處理的模式。首先,它要確定對(duì)象的創(chuàng)建者是否正在一個(gè)已經(jīng)存在的事務(wù)處理里運(yùn)行。其次,它要使用組件的事務(wù)處理模式。

在Visual Basic .NET里,可以從System.EnterpriseServices.ServicedComponent里衍生出一個(gè)類,這類能夠參與事務(wù)處理。如果System.EnterpriseServices這個(gè)命名空間不在你的項(xiàng)目里,你就要把它添加到項(xiàng)目的參照里:

Public Class MTSTest
Inherits System.EnterpriseServices.ServicedComponent

End Class

要控制用于類的事務(wù)處理模式,你需要對(duì)類使用TransactionAttribute。Transaction(事務(wù)處理)屬性的構(gòu)造器能夠接受TransactionOption這個(gè)類型的枚舉參數(shù)(enumerated parameter)。TransactionAttribute可能的值有:

Disabled——對(duì)象會(huì)忽略事務(wù)處理。
NotSupported——對(duì)象不能在事務(wù)處理的范圍內(nèi)運(yùn)行。對(duì)象的創(chuàng)建不需要事務(wù)處理的存在,而不論其創(chuàng)建者是否運(yùn)行在事務(wù)處理里。
Supported——對(duì)象需要或者不需要事務(wù)處理都可以運(yùn)行。如果對(duì)象是在一個(gè)活動(dòng)的事務(wù)處理里創(chuàng)建的,那么它就要在這個(gè)已存在事務(wù)處理里運(yùn)行。如果對(duì)象不是在活動(dòng)的事務(wù)處理里創(chuàng)建的,那么對(duì)象不需要事務(wù)處理也可以運(yùn)行。
Required——對(duì)象需要一個(gè)事務(wù)處理。如果已經(jīng)存在一個(gè)活動(dòng)的事務(wù)處理,那么對(duì)象就要在這個(gè)事務(wù)處理里運(yùn)行。如果不存在活動(dòng)的事務(wù)處理,就要開始一個(gè)新的事務(wù)處理。這個(gè)值是Transaction屬性缺省的值。
RequiresNew——對(duì)象需要一個(gè)事務(wù)處理。但是,新的事務(wù)處理總是應(yīng)每個(gè)請(qǐng)求的需要而開始,即使已經(jīng)存在活動(dòng)的事務(wù)處理。
下面的代碼顯示了如何聲明一個(gè)對(duì)象需要事務(wù)處理:


(EnterpriseServices.TransactionOption.Required)> _
Public Class MTSTest
Inherits System.EnterpriseServices.ServicedComponent

End Class

相關(guān)頻道: eNews

您對(duì)本文或本站有任何意見,請(qǐng)?jiān)谙路教峤?,謝謝!

投稿信箱:tougao@enet16.com