2010-09-30 1 views
9

Công nghệ COM có vẻ hơi lỗi thời, mặc dù vẫn được sử dụng. Nhưng cách tiếp cận nào được khuyến nghị hiện nay để thực hiện cùng một loại khả năng tương tác khi xây dựng một ứng dụng .NET, cụ thể, trong WPF?Tương tự hiện tại của công nghệ COM là gì?

I.e. một thay thế hiện đại của một đối tượng COM là gì?

+0

COM cung cấp khá nhiều tùy chọn khả năng tương tác khác nhau ... cụ thể là bạn đang tìm kiếm? –

+0

@Justin Niessner Trong trường hợp này không có gì cụ thể. Đó là một câu hỏi chung, chỉ để hiểu rõ hơn về xu hướng trong các khái niệm – rem

+0

Tôi sẽ nói rằng tương tự hiện tại trong thế giới Windows với COM vẫn là COM. Nó là xa từ lỗi thời và vẫn là mô hình thành phần cốt lõi của Windows, Office và phần mềm khác cho phép khả năng tương tác cao nhất có thể. Tất nhiên, có những cách tiếp cận khác nhau như các dịch vụ Web, SOA, WCF, và những thứ tương tự nhưng những thứ này thường giải quyết những thứ hơi khác một chút. Sự thay thế gần nhất với COM là .NET chính nó, như đã nêu bởi AakashM. –

Trả lời

8

.NET được dự định là sự thay thế cho COM. Dự án có nhiều tên trong khi nó đang được thực hiện, nhưng nó bắt đầu cuộc sống là "COM +". Ảnh hưởng này vẫn hiển nhiên ở nhiều nơi. Nhiều tệp mã nguồn lõi cho CLR bắt đầu bằng tên "com", mặc dù CLR sử dụng (hầu như) không có COM nào cả. Mã ngoại lệ của Windows cho một ngoại lệ được quản lý là 0xE0434F4D. Giá trị 3 byte cuối cùng của mã là ASCII cho "COM".

Xác nhận rằng WCF là sự thay thế không chính xác. Nó thay thế .NET Remoting. COM có một phạm vi rất rộng, nó là một công cụ interop chung, giống như CLR cho phép nhiều ngôn ngữ để tương thích. Một trong những tính năng của nó là hỗ trợ interop giữa các quá trình và máy móc khác nhau, có lẽ là nguồn gốc của tuyên bố. Nhưng đó chỉ là một phần của nó.

Vẫn còn nhiều ứng dụng COM chưa được thay thế bằng .NET. Ví dụ tốt nhất là vỏ Windows, Explorer.exe. Khá khó để làm một cái gì đó đơn giản như việc tạo một phần mở rộng trình đơn ngữ cảnh trong C#. Và cho đến khi .NET 4.0 không khuyến khích mạnh mẽ.

5

cách tiếp cận nào được khuyến khích tại để thực hiện cùng một loại khả năng tương tác khi xây dựng một ứng dụng .NET , cụ thể, trong WPF?

Nó được gọi là WCF

WCF được thiết kế phù hợp với định hướng phục vụ nguyên tắc kiến ​​trúc để hỗ trợ tính toán phân tán nơi dịch vụ được tiêu thụ bởi người tiêu dùng.

+4

Không WCF là một tương tự hiện tại của DCOM? – JLWarlow

+0

Tôi nghĩ đó là một điểm tốt. DCOM rõ ràng là một phần mở rộng cho COM. –

+0

Đó là giá trị mang trong tâm trí toàn bộ câu hỏi, trong đó có "những gì phương pháp tiếp cận được khuyến khích bây giờ để thực hiện cùng một loại khả năng tương tác khi xây dựng một ứng dụng .NET". –

2

Hãy xem đoạn đầu tiên trong this wikipedia article.

WCF là thay thế hiện đại cho COM.

+1

.NET remoting và WCF là các công nghệ khác nhau. Thật vậy, WCF supersedes .NET remoting. –

+0

@ Joe, đúng, tôi chỉ tham chiếu bài viết bởi vì nó có một dòng thời gian tốt đẹp trong đoạn đầu tiên. – Carvellis