使用交易和處理例外狀況
設計協調流程時,您應該仔細思考可能發生問題的地方,以及處理問題的最佳方式。 許多協調流程都有多個潛在的失敗點。 問題可能是由其他原因所引起;例如,伺服器可能當機,或是訊息格式不正確。
對於長時間執行或複雜的協調流程而言,持續追蹤狀態與即時報告錯誤尤其重要,因為這樣您才能夠以最少的精力正確解決問題。 對於協調流程來說,維持一組關係緊密的動作保持完整也一樣重要,如此在執行交易的某一部分,而其他部分未執行的情況下,才能回復完整的交易 (即使該交易從未執行也一樣)。
即使有外部系統參與交易過程,BizTalk 協調流程也可讓您確保工作不可部分完成的特性,也就是相關動作的完整性。 它提供多項工具,供您處理錯誤、維護協調流程的狀態,以及透過交易、補償和例外狀況處理即時修正問題。
作為交易和例外狀況處理的架構,協調流程Designer提供範圍圖形。 範圍可以包含交易類型、補償和任何數目的例外狀況處理常式。
設定交易和例外狀況處理的步驟如下:
建立範圍。
識別您需要的交易種類。
判斷需要補償的部分。
識別潛在的錯誤。
新增適當的例外狀況處理常式和補償程式碼。
使用交易、例外狀況處理和補償的範例
從 https://go.microsoft.com/fwlink/?LinkId=73703 下載 SDK 範例「使用協調流程中的 COM+ 服務元件進行不可部分完成的交易」。
從 https://go.microsoft.com/fwlink/?LinkId=73703 下載 SDK 範例「在協調流程中搭配使用 SQL 配接器搭配不可部分完成的交易」。
從 https://go.microsoft.com/fwlink/?LinkId=73703 下載 SDK 範例「在協調流程中使用 Long-Running 交易」。
從 https://go.microsoft.com/fwlink/?LinkId=73703 下載 SDK 範例「協調流程中的例外狀況處理」。