Runtime: Solusi untuk aplikasi yang bergantung pada DTC sehubungan dengan porting ke NetCore 3.0

Dibuat pada 5 Des 2019  ·  3Komentar  ·  Sumber: dotnet/runtime

Semua,

Jika aplikasi netcore Anda membungkus banyak koneksi dalam sebuah transactionscope, Anda akan mendapatkan error runtime:
"Platform ini tidak mendukung transaksi terdistribusi."

Saya bertanya-tanya apa solusi terbaik untuk aplikasi web yang sedang porting ke netcore3, yang menggunakan DTC. Apakah untuk refactor menggunakan pola UnitOfWork?

Saya tidak ingin mengelola koneksi di lapisan bisnis saya, yang dibantu oleh TransactionScope.

Terima kasih!

Terkait:
Buka Masalah: https://github.com/dotnet/corefx/issues/13532
Stack Overflow: https://stackoverflow.com/questions/56328832/transactionscope-throwing-exception-this-platform-does-not-support-distributed-t

area-System.Transactions untriaged

Komentar yang paling membantu

Kami juga ingin melakukan port dari .NET Framework ke .NET Core dan telah menemukan fakta bahwa DTC tidak didukung dengan TransactionScope yang terasa seperti pemecah kesepakatan dalam hal kami dapat melakukan port ke .NET Core.

Kasus penggunaan khusus kami adalah:

  1. Kita perlu menulis ke dua tabel database berbeda yang berada di dua SQL Server terpisah dan memastikan semuanya berkomitmen ke database secara atomik yang kita lakukan hari ini dengan sukses menggunakan TransactionScope dan DTC.
  2. Kita perlu INSERT/UPDATE/DELETE beberapa tabel database dalam satu transaksi dari kode lapisan bisnis kita yang tidak memiliki pengetahuan tentang database. Kami mencapai ini dengan sukses hari ini dengan membuat TransactionScope di lapisan bisnis kami yang pada gilirannya membuat beberapa panggilan ke lapisan akses data kami yang melakukan operasi basis data yang diperlukan.

Karena transaksi terdistribusi saat ini tidak didukung di .NET Core, apa rekomendasi dari Microsoft sebagai solusinya?

Semua 3 komentar

Kami juga ingin melakukan port dari .NET Framework ke .NET Core dan telah menemukan fakta bahwa DTC tidak didukung dengan TransactionScope yang terasa seperti pemecah kesepakatan dalam hal kami dapat melakukan port ke .NET Core.

Kasus penggunaan khusus kami adalah:

  1. Kita perlu menulis ke dua tabel database berbeda yang berada di dua SQL Server terpisah dan memastikan semuanya berkomitmen ke database secara atomik yang kita lakukan hari ini dengan sukses menggunakan TransactionScope dan DTC.
  2. Kita perlu INSERT/UPDATE/DELETE beberapa tabel database dalam satu transaksi dari kode lapisan bisnis kita yang tidak memiliki pengetahuan tentang database. Kami mencapai ini dengan sukses hari ini dengan membuat TransactionScope di lapisan bisnis kami yang pada gilirannya membuat beberapa panggilan ke lapisan akses data kami yang melakukan operasi basis data yang diperlukan.

Karena transaksi terdistribusi saat ini tidak didukung di .NET Core, apa rekomendasi dari Microsoft sebagai solusinya?

Kami sedang menyelidiki kelayakan membawa fitur ini ke Core, silakan lanjutkan untuk melacak dotnet/corefx#13532 , masalah itu akan segera dipindahkan ke repo ini.

Masalah dipindahkan ke dotnet/runtime #715

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

btecu picture btecu  ·  3Komentar

Timovzl picture Timovzl  ·  3Komentar

v0l picture v0l  ·  3Komentar

chunseoklee picture chunseoklee  ·  3Komentar

yahorsi picture yahorsi  ·  3Komentar