IObjectContext::D isableCommit 方法 (comsvcs.h)
宣告物件的交易式更新處於不一致的狀態,且無法在其目前狀態中認可。
Syntax
HRESULT DisableCommit();
傳回值
這個方法可以傳回下列值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 物件呼叫 EnableCommit 或 SetComplete 之前,無法認可物件的交易式更新。 |
|
發生意外錯誤。 如果某個物件將其 IObjectContext 指標傳遞至另一個物件,而另一個物件會使用此指標呼叫 DisableCommit ,就會發生這種情況。 IObjectContext 指標在最初取得它的物件內容之外無效。 |
|
目前的對象沒有與其相關聯的內容。 這可能是因為未使用其中一個 COM+ CreateInstance 方法建立。 |
備註
您可以使用 DisableCommit 方法防止交易在具狀態物件中的方法呼叫之間提前認可。 當物件叫用 DisableCommit 時,它會指出其工作不一致,而且在接收來自客戶端的進一步方法調用之前,無法完成其工作。 它也會指出它必須維持其狀態,才能執行該工作。 這可防止 COM+ 停用物件,並在從方法呼叫傳回時回收其資源。 當物件呼叫 DisableCommit 時,如果客戶端嘗試在物件呼叫 EnableCommit 或 SetComplete 之前認可交易,交易就會中止。
例如,假設您有一個更新資料庫的 GeneralLedger 元件。 用戶端對 GeneralLedger 物件進行多個呼叫,以將專案張貼到各種帳戶。 有一個完整性條件約束,表示當最終方法調用傳回時,轉賬必須等於點數,否則交易必須中止。 GeneralLedger 物件具有初始化方法,用戶端會通知用戶端即將進行的呼叫順序,而 GeneralLedger 物件會呼叫 DisableCommit。 物件會在呼叫之間維持其狀態,如此一來,在進行序列的最後一次呼叫之後,物件可以先確定符合完整性條件約束,再允許認可其工作。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | comsvcs.h |