Semua orang mengatakan bagaimana .NET Remoting digantikan oleh WCF, tapi saya bertanya-tanya seberapa akurat itu. Saya belum melihat kata resmi bahwa Remoting tidak digunakan lagi, dan menurut saya pasti ada skenario di mana Remoting lebih masuk akal daripada WCF. Tak satu pun dari objek atau metode terkait jauh telah dihentikan, bahkan dalam versi 4.0 kerangka kerja. Ini juga pemahaman saya bahwa System.AddIn dalam kerangka kerja 3.5 dan 4.0 menggunakan Remoting.
Apakah ada yang punya kata resmi yang bertentangan?
Dalam artikel, Memilih Opsi Komunikasi di .NET (untuk 3.0, karena itu adalah versi terbaru dari artikel itu), itu menyatakan:
8 Komunikasi domain lintas aplikasi
Jika Anda perlu mendukung komunikasi antara objek di domain aplikasi yang berbeda dalam proses yang sama, Anda harus menggunakan jarak jauh .NET.
Sekarang, tentu saja, itu tidak akurat, karena WCF tentu saja dapat digunakan untuk melintasi batas domain aplikasi, tetapi apakah itu memberikan rekomendasi resmi untuk skenario itu?
Pembaruan: Saya mengirim Clemens Vasters (yang berada di tim yang memiliki Remoting dan WCF) pertanyaan ini:
Clemens, saya mengerti Anda berada di tim yang memiliki remoting dan wcf, dan saya punya beberapa pertanyaan yang saya yakin perlu saya tanyakan ke sumbernya.
Pertama, saya memiliki pertanyaan tentang apakah remoting akan dihentikan. Secara khusus, kami memiliki aplikasi yang agak besar yang menggunakan remote secara ekstensif untuk komunikasi lintas-appdomain dalam proses, dan saya bertanya-tanya apakah penggunaan remote ini dianggap "warisan". Jika demikian, apakah AppDomain.CreateInstance dan teman-teman akan diganti dengan yang lain?
Ini jawabannya:
Remoting adalah bagian dari .Net Framework dan karenanya tidak akan hilang. COM telah ada di Windows sejak Windows NT 3.5 / Windows 95 dan belum hilang dan saya juga tidak melihat itu akan hilang dalam waktu dekat.
Meskipun demikian, investasi pembangunan yang masuk ke Remoting sangat minim. WCF adalah penerus dari Remoting dan menggantikan COM / DCOM untuk kode yang dikelola.
Untuk komunikasi lintas-domain dalam proses, Remote adalah cara komunikasi asli CLR. Jika Anda melihat masalah kinerja yang memompa data dalam jumlah besar atau sangat banyak pesan dalam waktu singkat, Anda harus memperhatikan WCF dan NetNamedPipeBinding dengan serius.
Jawaban:
Menyebutnya sebagai teknologi warisan adalah deskripsi yang lebih akurat.
http://msdn.microsoft.com/en-us/library/72x4h507%28VS.85%29.aspx
Pembaruan: WCF tidak membedakan antara inter / intra / proses / inter / intra-appdomain. Jika Anda menggunakan komunikasi mesin tunggal di WCF, Anda menggunakan pipa bernama - menggunakannya akan memberikan kinerja yang baik di hampir semua skenario realistis.
Untuk perbandingan kinerja berbagai teknologi komunikasi terdistribusi, lihat di sini .
sumber
Iya. Remoting tidak digunakan lagi ... dan ini resmi dari Microsoft. Berikut tautannya:
.NET Remoting
Baris pertama dalam artikel tersebut bertuliskan cetak tebal:
Saya pikir verbiage itu 'deprecated' tapi ternyata mereka menyebutnya sebagai 'legacy'
sumber
Jika Anda ingin bermigrasi ke .NET Core, Anda harus mencari solusi lain untuk Remoting:
Sumber: https://docs.microsoft.com/en-us/dotnet/core/porting/libraries#remoting
sumber
Clemens Vasters, Pimpinan Teknis untuk Microsoft .NET Service Bus (yang berarti baik Remoting maupun WCF) berbicara tentang WCF vs. Remoting di posting forum ini . Untuk meringkas posting, dia akhirnya merekomendasikan WCF daripada Remoting.
Saya tidak yakin apakah .NET 4.0 menggunakan remoting secara internal tetapi Anda dapat mencoba mengirimkan pertanyaan kepada Clemens ... Saya yakin dia tahu jawabannya.
sumber
Menurut saya sekarang (2015) sudah cukup jelas bahkan untuk domain lintas aplikasi: https://msdn.microsoft.com/en-us/library/vstudio/ms180984(v=vs.100).aspx
Kemudian WCF juga harus digunakan untuk domain lintas aplikasi.
sumber