2010-09-30 9 views
9

La tecnología COM parece un poco obsoleta, aunque todavía en uso. Pero, ¿qué enfoque se recomienda ahora para implementar el mismo tipo de interoperabilidad al construir una aplicación .NET, específicamente, en WPF?¿Qué es un análogo actual de la tecnología COM?

I.e. ¿Qué es un reemplazo moderno de un objeto COM?

+0

COM proporcionó un buen número de opciones de interoperabilidad diferentes ... que, específicamente, ¿estás buscando? –

+0

@Justin Niessner En este caso, nada específico. Es una pregunta general, solo para entender mejor la tendencia en los conceptos – rem

+0

Diría que el análogo actual en el mundo de Windows para COM sigue siendo COM. Está lejos de ser obsoleto y sigue siendo el modelo de componentes principales de Windows, Office y otro software que permite la interoperabilidad más alta posible. Por supuesto, existen diferentes enfoques, como los servicios web, SOA, WCF y similares, pero en general se abordan cosas ligeramente diferentes. El reemplazo más cercano a COM es .NET en sí, según lo declarado por AakashM. –

Respuesta

8

.NET estaba destinado a ser el sustituto de COM. El proyecto tenía muchos nombres mientras se estaba trabajando en él, pero comenzó su vida como "COM +". Esta influencia aún es evidente en muchos lugares. Muchos de los archivos de código fuente básicos para el CLR comienzan con el nombre "com", aunque el CLR usa (casi) ningún COM en absoluto. El código de excepción de Windows para una excepción administrada es 0xE0434F4D. Los últimos 3 valores de bytes del código son ASCII para "COM".

La afirmación de que WCF era un reemplazo no es precisa. Reemplazó .NET Remoting. COM tiene un rango muy amplio, es una herramienta de interoperabilidad genérica, al igual que el CLR permite que muchos idiomas interactúen. Una de sus características era apoyar la interoperabilidad entre diferentes procesos y máquinas, quizás la fuente de la declaración. Pero eso es solo una parte de eso.

Todavía hay muchas aplicaciones COM que no han sido reemplazadas por .NET. El mejor ejemplo es el shell de Windows, Explorer.exe. Es bastante difícil hacer algo tan simple como crear una extensión de shell de menú contextual en C#. Y hasta .NET 4.0 fuertemente desaconsejado.

5

¿Qué enfoque se recomienda ahora para implementar el mismo tipo de interoperabilidad en la construcción de una aplicación .NET , en concreto, en WPF?

Se llama WCF

WCF está diseñada de acuerdo con los principios de arquitectura orientada a servicios de apoyo a la computación distribuida donde los servicios son consumidos por los consumidores.

+4

¿No sería WCF un análogo actual de DCOM? – JLWarlow

+0

Creo que es un buen punto. DCOM era obviamente una extensión de COM. –

+0

Vale la pena tener en cuenta toda la pregunta, que tiene "qué enfoque se recomienda ahora para implementar el mismo tipo de interoperabilidad cuando se construye una aplicación .NET". –

2

Eche un vistazo al primer párrafo en this wikipedia article.

WCF es el reemplazo moderno para COM.

+1

.NET remoto y WCF son diferentes tecnologías. De hecho, WCF reemplaza .NET remoto. –

+0

@Joe, cierto, solo hice referencia al artículo porque tiene una línea de tiempo agradable en el primer párrafo. – Carvellis

Cuestiones relacionadas