2011-05-25 50 views
1

我不是WCF和MSDTC的專家,因此希望這是簡單的事情。我有一個客戶端服務器,一個Web服務服務器和一個數據庫。我希望能夠將調用包裝到TransactionScope中的Web服務服務器中,以便在操作中某些內容失敗時,我可以退出。當所有3個組件都位於本地計算機上時,此設置正常工作。當我將它們移動到單獨的服務器時,一切都可以使用,直到一個調用位於TransactionScope中。WCF MSDTC事務提升但未執行

我可以在dcomcnfg - >組件服務 - >計算機 - >我的電腦 - >分佈式事務協調器 - >本地DTC下看到在客戶端和Web服務服務器上添加的事務。我看到兩臺機器上都顯示相同的事務。問題是,它只是等待超時而失敗。如果我查看應該發生在TransactionScope中的Web服務調用的事務日誌,那麼它們不在那裏。

我錯過了什麼?

回答

0

在這種情況下,它最終成爲防火牆問題。由於我看到事務出現在服務服務器事務列表中,但將分佈式事務處理協調器添加到允許的防火牆域通信列表中修復了問題,所以我放棄了將其視爲防火牆問題的想法。

0

我MSDTC配置NServiceBus和NHibernate當最近看到類似的症狀。

我的問題的解決方案涉及檢查正在使用的身份驗證。

在分佈式事務處理協調器的本地DTC中,轉到屬性並檢查安全性選項卡。這可能是因爲您需要啓用網絡DTC訪問,或更改使用的身份驗證。嘗試不驗證,看看是否有效,並適當鎖定。

+0

我已經將其設置爲無身份驗證,仍然獲得相同的行爲。 – 2011-05-25 14:30:48