記錄一下,我的看法,歡迎指正數據庫
錯誤:安全
1.該夥伴事務管理器已經禁止了它對遠程/網絡事務的支持。 (異常來自 HRESULT:0x8004D025)
2.事務已被隱式或顯式提交,或已終止
3.此操做對該事務的狀態無效。網絡
經過分析獲得這個是與分佈式事務有關的問題。。有如下解決辦法:框架
1.設置 數據庫的連接字符串屬性: Enlist=false 相似於:Data Source="*;Initial Catalog=*;User ID=sa;Password=sa;Enlist=false;" 其實Enlist這個玩意兒默認是爲true的。。表示是否開啓事務登記。。 關閉的話,天然而然的就沒了以上分佈式事務所帶來的的問題。分佈式
2.設置分佈式事務的隔離機制。 上面的錯誤其實就是分佈式事務交叉使用,所帶來的TransactionScope裏SqlClient 鏈接出錯。因此理論上設置事務的隔離機制是能夠解決問題的。(這種我沒有實現)工具
3.設置客戶端和服務端的DTC。打開控制面板->管理工具->組件服務,右擊"本地DTC",屬性--安全下,全勾上,事務管理器通訊中的勾選"不要求進行驗證「。意思大體上位開啓遠程/網絡的事務支持。詳細內容能夠自行搜索。。性能
以上三個解決方式,我的建議。要是離不開分佈式事務的話,就第三種方式。不想用分佈式用第一種辦法。有時間精力的話,能夠試試第二種。另說,TransactionScope這個玩意兒真的是最好不要使用,親身體會其性能跟穩定性較差。如今這麼多好的ORM框架,隨便一種都能將其秒殺。事務