Apakah ini pertanyaan yang valid? Saya memiliki aplikasi .NET Windows yang menggunakan MSTDC dan ini memberikan pengecualian:
System.Transactions.TransactionManagerCommunicationException: Akses jaringan untuk Manajer Transaksi Terdistribusi (MSDTC) telah dinonaktifkan. Harap aktifkan DTC untuk akses jaringan dalam konfigurasi keamanan untuk MSDTC menggunakan alat Administratif Layanan Komponen ---> System.Runtime.InteropServices.COMException (0x8004D024): Manajer transaksi telah menonaktifkan dukungannya untuk transaksi jarak jauh / jaringan. (Pengecualian dari HRESULT: 0x8004D024) di System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction (UInt32 propgationTokenSize, Byte [] propgationToken, IntPtr managedIdentifier, Guid & transactionIdentifier, OletxTransactionIsransimactionLevel & transaction isolationLevel & transaction isolationLevel
Saya mengikuti panduan Kbalertz untuk mengaktifkan MSDTC di PC tempat aplikasi diinstal, tetapi kesalahan masih terjadi.
Saya bertanya-tanya apakah ini masalah database? Jika ya, bagaimana cara mengatasinya?
sumber
Jawaban:
Gunakan ini untuk windows Server 2008 r2 dan Windows Server 2012 R2
Klik Mulai , klik Jalankan , ketik dcomcnfg , lalu klik OK untuk membuka Layanan Komponen .
Di pohon konsol, klik untuk memperluas Layanan Komponen , klik untuk memperluas Komputer , klik untuk memperluas Komputer Saya , klik untuk memperluas Koordinator Transaksi Terdistribusi dan kemudian klik DTC Lokal .
Klik kanan Local DTC dan klik Properties untuk menampilkan kotak dialog Local DTC Properties .
Klik tab Keamanan .
Centang kotak "Akses DTC Jaringan" .
Terakhir, centang kotak "Izinkan Masuk" dan "Izinkan Keluar" .
Klik Apply , OK .
Sebuah pesan akan muncul tentang memulai kembali layanan.
Klik OK dan Itu saja.
Referensi: https://msdn.microsoft.com/en-us/library/dd327979.aspx
Catatan: Terkadang firewall jaringan di Komputer Lokal atau Server dapat mengganggu koneksi Anda, jadi pastikan Anda membuat aturan untuk "Izinkan Koneksi Masuk" dan "Izinkan koneksi Keluar" untuk
C:\Windows\System32\msdtc.exe
sumber
msdtc.exe
adalah:c:\windows\system32\msdtc.exe
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Security
. Info lebih lanjut tentang properti di sini .Apakah Anda bahkan membutuhkan MSDTC? Eskalasi yang Anda alami sering kali disebabkan oleh pembuatan beberapa koneksi dalam satu TransactionScope.
Jika Anda benar-benar membutuhkannya, Anda harus mengaktifkannya seperti yang diuraikan dalam pesan kesalahan. Di XP:
sumber
Saya telah menemukan bahwa cara terbaik untuk men-debug adalah dengan menggunakan alat microsoft yang disebut DTCPing
Saya mengalami masalah tarif di jaringan perusahaan lama kami, dan saya punya beberapa tip:
Dalam pengalaman saya, jika DTCPing dapat mengatur koneksi DTC yang dimulai dari klien dan dimulai dari server, transaksi Anda tidak menjadi masalah lagi.
sumber
Dapat juga melihat di sini tentang cara mengaktifkan MSDTC dari Control Panel services.msc.
sumber
MSDTC harus diaktifkan di kedua sistem, baik server maupun klien.
Selain itu, pastikan tidak ada firewall di antara sistem yang memblokir RPC.
DTCTest adalah aplikasi kecil yang bagus yang membantu Anda memecahkan masalah lainnya.
sumber
@Bayu_joo
Hanya transaksi terdistribusi - Transaksi yang melibatkan lebih dari satu koneksi. Pastikan dua kali lipat Anda hanya membuka satu koneksi dalam transaksi dan itu tidak akan meningkat - Performa akan jauh lebih baik juga.
sumber