假設您有一個連接3個不同外部系統的應用程序。您需要全部更新3.如果發生故障,您需要回滾操作。 這不是一件很難實現的事情,但是說操作3失敗了,當回滾時,操作1的回滾失敗!現在第一個外部系統處於無效狀態...幾個無交易外部系統的原子操作
我在想一個可能的解決方案是關閉應用程序並強制外部系統的手動修復,但後來又一次...它可能已經有了使用這些信息(也許這就是爲什麼它失敗了),或者我們可能沒有足夠的訪問權限。或者它可能不是一個回滾行動的好方法!
是否有一些好的方法來處理這種情況?
編輯:一些應用程序的細節..
這是一個多用戶的Web應用程序。大部分工作是通過預定的工作完成的(通過Quartz.Net),所以大多數操作都在它自己的線程中運行。某些用戶操作應觸發更新多個系統的作業。外部系統有些不穩定。
我想改變使用命令和機組工作模式
外部系統是否固定?或者你可以修改它們嗎? – bmargulies 2010-06-14 04:38:39