在 TransactionScope 中使用 await 會發生 「TransactionScope 必須在當初建立所在的執行緒上進行配置」錯誤訊息,本文以此錯誤來檢視 async / await 機制與流程,並且透過設定來排除 Task 或 async/await 這類非同步作業所產生的跨執行續交易問題。
2017-10-12
在 TransactionScope 中使用 await 會發生 「TransactionScope 必須在當初建立所在的執行緒上進行配置」錯誤訊息,本文以此錯誤來檢視 async / await 機制與流程,並且透過設定來排除 Task 或 async/await 這類非同步作業所產生的跨執行續交易問題。
當不小心啟用分散式交易機制時,且環境設定不允許時,就會產生【已停用分散式交易管理員 (MSDTC) 的網路存取。請使用元件服務系統管理工具啟用 DTC,以使用 MSDTC 安全性設定中的網路存取】錯誤訊息,此時可以透過 new TransactionScope(TransactionScopeOption.Suppress)
排除不需要納入交易的部分,避免分散交易的情境產生。