2012-04-08 24 views
7

Tôi đang làm việc trên một dự án yêu cầu liên lạc giữa AppDomain và quá trình liên lạc nội bộ. Có ... Tôi biết ... NET Remoting được coi là một công nghệ di sản rộng rãi nhưng tôi phải đối mặt với hai vấn đề rất đặc biệt và có thể trong những kịch bản WCF không phải là một thay thế đầy đủ của NET Remoting.NET Remoting và MarshalByRefObject thực sự đã chết?

1) liên AppDomain-nội-process communication

Ứng dụng tôi đang làm việc trên bắt đầu và cần phải tìm kiếm và tải một trên nhiều addin. Tôi muốn tải từng addin trong một AppDomain riêng biệt. Tôi cần một cách để tạo ra mỗi cá thể Addin trong AppDomain của mình và gọi một số phương thức giao diện của cá thể này tại một số điểm. Ở đây NET Remoting là cách duy nhất, phải không? Hơn nữa, nếu chúng ta muốn áp dụng mô hình System.Addins, rõ ràng chỉ dựa Remoting NET và không được đánh dấu như đã lỗi thời ...

2) inter-process-nội-máy thông tin liên lạc

Ở đây tôi có thể chắc chắn lộ từ ứng dụng của tôi một dịch vụ WCF và gọi dịch vụ này từ khách hàng của tôi bằng cách sử dụng Ống có tên.

Những gì tôi thực sự muốn làm là trưng ra một mô hình đối tượng từ ứng dụng của mình, để ứng dụng của tôi có thể được tự động từ một số máy khách NET, giống như mô hình đối tượng OLE/COM Automation được Excel trưng ra. Bất kỳ khách hàng COM có thể nhận được một tham chiếu đối tượng để Excel.Application và truy vấn tài liệu mở, mở một số tài liệu mới và như vậy.

Tôi nghĩ WCF tốt khi giao tiếp theo cách độc lập trên nền tảng. Nhưng trong trường hợp này tôi chỉ cần giao tiếp từ Net client đến ứng dụng Net trên cùng một máy. WCF dịch vụ phylosophy không cho phép, tôi nghĩ, để lộ một mô hình đối tượng phong phú với các đối tượng, bộ sưu tập, lĩnh vực, thành viên tĩnh, phương pháp quá tải ... Hoặc tôi là sai?

Hãy tha thứ cho câu hỏi tiếng anh xấu của tôi và câu hỏi mới của tôi.

Trả lời

1

Bạn có thể đọc câu trả lời cho một câu hỏi tương tự ở đây: Is .NET Remoting really deprecated?

tôi có thể thêm rằng tôi đã sử dụng .NET Remoting thời gian gần đây cho tương đối đơn giản hai chiều giao tiếp giữa các quá trình, và tất cả đã đi gần như liên tục, vì vậy tôi có thể nói nó vẫn có thể sử dụng được sau tất cả các năm không được Microsoft hỗ trợ tích cực.

Đối với COM, nếu bạn có các yêu cầu mạnh mẽ để sản phẩm của bạn có thể truy cập được bằng máy khách COM, tôi khuyên bạn nên triển khai giao diện COM một cách rõ ràng, thông qua COM interop. Ngoài ra, có một bài viết thú vị về việc sử dụng COM và .NET Remoting cùng nhau mà có thể quan tâm: http://msdn.microsoft.com/en-us/magazine/cc164085.aspx

Các vấn đề liên quan