我正在使用繼承System.Servicemodel.Channels.Message的自定義消息。
我的自定義消息獲取從數據庫中提取的IEnumerable集合。
WCF服務是事務性的(已經測試過)。使用事務支持WCF自定義消息寫入
MS-DTC已啓用。
問題是,當保護覆蓋無效OnWriteBodyContents(XmlDictionaryWriter作家)方法在自定義消息執行,沒有事務。
System.Transactions.Transaction.Current爲空。在執行服務時,事務流工作正常,但是當消息由WCF機制寫入時,它看起來好像沒有事務,導致DB命令(拉數據)在沒有事務的情況下執行。
請注意,如果我傳遞的是簡單的數組而不是IEnumerable,則數據庫操作將在事務下執行,但我希望它與響應寫入並行執行。
任何想法請,爲什麼交易缺失,可以做些什麼來激活它?
非常感謝!
坦米爾。
你太棒了!感謝那。 但是,如何在fx 4.0之前解決這類問題? – Tamir 2010-08-25 12:35:11
實際上,自引入System.Transactions以來,DepedentTransaction存在,即.NET 2.0 – VinayC 2010-08-25 13:01:42
是的,對不起,我的不好。沒注意到.. :-) – Tamir 2010-08-25 13:08:52