WCF 第五章 行為 實現事務 操作行為

2021-09-06 01:56:30 字數 921 閱讀 3995

有兩個場景一般用作事務的參考。多步驟商業過程是典型跨度分,天,月的長時間執行過程。它們可以涉及多個組織和基於人的工作流。短期執行事務是那些在幾秒鐘完成並很少有外部依賴的商業操作。儘管它們都有定義的很好的介面和確定的工作流,它們是根本不同的事物。wcf支援短期執行的事務。它通過借助.net和windows基礎結構來實現執行在只有微軟環境平台的事務同時通過使用ws-*標準事務來支援跨平台。

多步驟商業過程一般需要同時連線自動化過程和手動工作流。它們可能需要不長時間(比如,處理乙個訂單)或者幾個月(比如,獲得乙個回扣)。如果乙個多步驟過程(比如,計畫一次商業旅行)半途而費,前期步驟(比如,飛機票預訂)可以通過取消步驟(取消機票預訂)來補償。這些事務由乙個訊息**或者企業服務比如biztalk server 支援。

短期執行的事務離散業務功能封裝。它們一般需要花費幾秒鐘完成。商業功能可以在乙個高的層次暴露來聚合或者從多個源更新訊息。商業功能也可以在乙個低的層次(更新客戶位址)暴露來更新僅僅乙個資料來源。在這些情況,所有的事務內的資料更新必須成功或者失敗因為為了維護商業功能的完整它們是以原子提交的。如果乙個事務內的元件更新失敗,服務必須將之前成功的更新撤銷為失敗以便於資料得以保留到它們在操作開始前的狀態。

這個行為通常被了解為乙個acid事務。在這個主題上有很多文章,但是簡要說來acid事務就是:

原子。 所有事務內的更新都是成功的,或者它們都被回滾了。任何部分更新都不允許。例如,在乙個銀行轉賬操作中,如果取錢操作成功了但是存錢失敗了,那麼取錢操作會回滾以便於總錢數不會多出也不是少。

一致性。 在操作結束以後,根據商業規則所有的資料都是合法的。例如,在乙個銀行轉賬事務中,接收方和傳送方的賬戶必須是合法的賬戶否則事務將會終止。

隔離。 當操作執行時,在事務外不可以看見任何部分結果。例如,當乙個銀行轉賬操作正在執行時,其他使用者在轉賬過程中不會看到賬戶餘額。

持續。 當事務執行後,資料必須在一種不被系統失效影響的方式。

WCF 第五章 行為

行為是wcf影響執行時操作的類。行為作為wcf執行時被呼叫,在客戶端和服務端執行並作為訊息在兩者之間流轉。因為行為執行在這些重要的時間,它們被用來實現很多wcf的內建特性。它們也是乙個重要的自定義擴充套件點。例如,servicehost用來定義乙個服務端的例項和併發方面,另外也分發訊息給適當的操作。...

第五章 物件的行為

方法呼叫桟是一種資料結構。先進後出 呼叫方法 1 方法返回值。在這種情況下,乙個基本資料型別或引用型別被傳給方法的呼叫者。2 方法不返回乙個值。在這種情況下,返回值被宣告為 void.3 方法丟擲乙個異常給方法的呼叫者。我們將 異常處理 一章討論異常。方法的簽名包括方法名.引數列表,返回值的資料型別...

第五章 事務和游標 總結

事務是由若干條t sql指令組成的作為單個邏輯工作單元執行的一系列操作,這些操作作為乙個整體一起向系統提交,要麼全部執行完成,要麼全部撤銷 事務分為顯式事務,自動提交事務和隱式事務三種,重點為顯式事務 顯式事務和另外兩個事務不同的是顯式事務需要明確定義開始 begin transaction 和結束...