在設計流程編排時,您應該仔細考慮可能發生問題的位置,以及如何最佳處理這些問題。 許多編排系統存在數個潛在的失敗點。 可能會因為任何其他原因而發生問題;例如,伺服器可能會關閉,或訊息的格式不正確。
在長時間運行或複雜的流程編排中,追踪其狀態並在錯誤發生時即時上報錯誤尤為重要,這樣您可以準確且輕鬆地解決問題。 協調流程維持一組密切相關動作的完整性同樣重要,因此,如果交易的一部分發生,但另一個動作並未發生,整個交易就可以復原,就好像從未發生過一樣。
BizTalk 協調流程可讓您保證工作的原子性,也就是相關操作的完整性,即便有外部系統參與交易。 它可讓您處理錯誤、維護協調流程的狀態,以及透過交易、補償和例外狀況處理來修正問題。
作為交易和例外狀況處理的架構,協調流程設計工具會提供 範圍 圖形。 範圍可以有交易類型、補償和任意數目的例外狀況處理程式。
設定交易和例外狀況處理的步驟如下:
建立範圍。
識別您需要的交易種類。
判斷需要補償的內容。
識別潛在的錯誤。
新增適當的例外狀況處理程序和補償程序代碼。
使用交易、例外狀況處理和補償的範例
從 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 範例「協調流程中的例外狀況處理」。