2011-04-04 71 views

回答

1

是否有任何圍繞 多個webservice調用的交易?

回答上述問題是,在一般情況下有可能有不同的網絡服務參與同一事務。要做到這一點,您可以使用行業標準WS-Transaction,這是WS-Coordination規範的一部分。感興趣的規格是WS-Atomic Transaction (WSAT)

如果您是在運行Microsoft堆棧,並MSDTC所有的機器則有可能之間正確地配置到Web服務之間傳遞數據(見Propagating a Transaction Across AppDomains

所以,答案是肯定的,它是在一般的可能。但是,如果你正在討論圍繞任意第三方服務的交易(因爲你之前的問題似乎是),那麼可能是不可能,因爲很可能這些第三方服務不支持WSAT(並且我不責備他們!)

不幸的是,在這些場景中,最好的你可以如果發生故障,則執行補償措施。

0

LINQ to SQL確實與Web服務調用周圍的事務無關。

我記得讀到這個:http://en.wikipedia.org/wiki/WS-Transaction,但不知道任何實現的狀態。所以我不會說它不能完成,但如果可能的話,根據規範中涉及的公司,這將是非常昂貴和非常複雜的。