共用方式為


自動交易中的表決

.NET Framework 類別和 ASP.NET 網頁可以表決要認可或中止目前的交易。如果程式碼中沒有明確的表決,則預設會宣告認可表決。然而,預設認可可能會降低應用程式的效能,因為每個交易釋放昂貴資源的時間會變長。

明確表決也能讓您的類別或網頁在遭遇重要錯誤時中止交易。同樣地,您可以藉由在交易初期補捉嚴重錯誤、結束交易然後釋放資源,以改善應用程式的效能。

使用 AutoComplete

System.EnterpriseServices.AutoCompleteAttribute 屬性會讓參與交易的物件表決是否要在方法正常傳回時完成交易。如果方法呼叫產生例外狀況,交易便會中止。您只能將此屬性套用到衍生自 ServicedComponent 類別的類別。

若要使用這個功能,請將屬性插入在類別方法之前。如果您在介面方法中新增屬性,Common Language Runtime 會忽略此屬性。如需如何使用 AutoComplete 屬性的範例,請參閱 HOW TO:在交易感知類別上設定 AutoComplete 屬性

使用 SetAbort 和 SetComplete

您可以使用 System.EnterpriseServices.ContextUtil 類別的靜態 SetCompleteSetAbort 方法,分別明確地認可及中止交易。SetComplete 方法指出您的物件表決要認可其工作;SetAbort 則指出您的物件遇到問題,因此表決要中止進行中的交易。交易要在此交易的根物件停用之後,才能進行認可或中止。而且,只要任何參與交易的物件決定中止,都會使得整個交易失敗。如需如何使用 SetAbortSetComplete 方法的範例,請參閱 HOW TO:使用 SetAbort 和 SetComplete 方法

請參閱

工作

HOW TO:在交易感知類別上設定 AutoComplete 屬性
HOW TO:使用 SetAbort 和 SetComplete 方法

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.