我剛剛閱讀了關於WCF事務和流程的a fantastic article。幾乎只給我留下了一個懸而未決的問題:如何在同一個項目中使用兩個服務強制執行WCF事務流合同?
我有一個單個項目兩種服務方式定義:
ServiceA.svc
[OperationBehavior(TransactionScopeRequired = true)]
OperationA()
ServiceB.svc
[OperationBehavior(TransactionScopeRequired = true)]
OperationB()
OperationA()
需要調用OperationB()
。
我可以很容易只是說從ServiceA
(內new ServiceB().OperationB(...)
記得我說,他們是在同一臺服務器上運行相同的Web項目。
起初我以爲這是我會做什麼,但我不知道交易是否會全部搞砸 - 特別是如果交易合約在兩個操作之間有差異,很明顯,如果我從OperationB
內部訪問Transaction.Current
,那麼它將存在,但如果兩個操作有不同的合約(如參考文章)規則將不會被遵循
什麼是正確的w唉ServiceA.OperationA()
致電ServiceB.OperationB()
?
(好奇又如何做到這一點,當一個操作調用另一個在同一個班,但是那可能是一個比較容易的事情谷歌)
多數民衆贊成在我正在尋找感謝。我有一本關於我的kindle的WCF書,但它很難找到像這樣的東西。 PS。我從上次你提到的30%起:-) – 2009-12-20 10:15:42