Mọi người đang nói làm thế nào .NET Remoting đang được thay thế bằng WCF, nhưng tôi đang tự hỏi mức độ chính xác của điều đó. Tôi chưa thấy bất kỳ từ chính thức nào nói rằng Remoting không được dùng nữa, và có vẻ như với tôi chắc chắn có những trường hợp mà Remoting có ý nghĩa hơn WCF. Không có đối tượng hoặc phương pháp nào liên quan đến Điều khiển từ xa không được dùng nữa, ngay cả trong phiên bản 4.0 của khung. Tôi cũng hiểu rằng System.AddIn trong các khung 3.5 và 4.0 sử dụng tính năng Điều khiển từ xa.
Có ai có bất kỳ từ chính thức để trái ngược?
Trong bài viết Chọn Tùy chọn Giao tiếp trong .NET (dành cho 3.0, vì đó là phiên bản mới nhất của bài viết đó), nó nêu rõ:
8 Truyền thông miền ứng dụng chéo
Nếu bạn cần hỗ trợ giao tiếp giữa các đối tượng trong các miền ứng dụng khác nhau trong cùng một quy trình, bạn phải sử dụng .NET remoting.
Tất nhiên, điều đó không chính xác vì WCF chắc chắn có thể được sử dụng để vượt qua ranh giới tên miền ứng dụng, nhưng liệu nó có đưa ra khuyến nghị chính thức cho trường hợp đó không?
Cập nhật: Tôi đã gửi cho Clemens Vasters (người trong nhóm sở hữu Remoting và WCF) câu hỏi này:
Clemens, tôi hiểu bạn đang ở trong nhóm sở hữu cả remoting và wcf, và tôi có một vài câu hỏi mà tôi tin rằng tôi cần phải truy cập nguồn.
Đầu tiên, tôi có một câu hỏi về việc liệu sự hối hận có biến mất hay không. Cụ thể, chúng tôi có một ứng dụng khá lớn sử dụng Removing rộng rãi cho giao tiếp giữa các tên miền ứng dụng trong quá trình và tôi đã tự hỏi liệu việc sử dụng remoting này có được coi là "di sản" hay không. Nếu vậy, AppDomain.CreateInstance và bạn bè có được thay thế bằng thứ khác không?
Đây là câu trả lời của anh ấy:
Điều khiển từ xa là một phần của .Net Framework và như vậy nó sẽ không biến mất. COM đã có trong Windows kể từ Windows NT 3.5 / Windows 95 và vẫn chưa biến mất và tôi cũng không thấy điều đó sẽ sớm biến mất.
Điều đó nói rằng, có rất ít đầu tư phát triển vào Remoting. WCF là sự kế thừa của Remoting và bổ sung COM / DCOM cho mã được quản lý.
Đối với giao tiếp trong quá trình, giữa các tên miền ứng dụng Từ xa là cách giao tiếp tự nhiên của CLR. Nếu bạn thấy các vấn đề về hiệu suất khi bơm lượng dữ liệu lớn hơn hoặc rất nhiều thông báo trong thời gian ngắn, bạn nên xem xét nghiêm túc WCF và NetNamedPipeBinding.