2010-09-30 9 views
9

La tecnologia COM sembra già un po 'obsoleta, sebbene sia ancora in uso. Ma quale approccio è ora consigliato per implementare lo stesso tipo di interoperabilità quando si costruisce un'applicazione .NET, in particolare in WPF?Che cos'è un analogo corrente della tecnologia COM?

I.e. cos'è una sostituzione moderna di un oggetto COM?

+0

COM ha fornito un bel po 'di diverse opzioni di interoperabilità ... che, in particolare, stai cercando? –

+0

@Justin Niessner In questo caso niente di specifico. È una domanda di carattere generale, solo per comprendere meglio la tendenza dei concetti – rem

+0

Direi che l'attuale analogico nel mondo Windows su COM è ancora COM. È tutt'altro che obsoleto e rimane il modello di componente principale di Windows, Office e altri software che consentono la massima interoperabilità possibile. Naturalmente, ci sono diversi approcci come servizi Web, SOA, WCF e simili, ma generalmente si rivolgono a cose leggermente diverse. La sostituzione più vicina a COM è .NET, come dichiarato da AakashM. –

risposta

8

.NET era destinato a essere il sostituto di COM. Il progetto aveva molti nomi mentre veniva lavorato, ma è iniziato come "COM +". Questa influenza è ancora evidente in molti posti. Molti dei principali file di codice sorgente per il CLR iniziano con il nome "com", anche se CLR utilizza (quasi) nessuna COM. Il codice di eccezione di Windows per un'eccezione gestita è 0xE0434F4D. Gli ultimi valori di 3 byte del codice sono ASCII per "COM".

L'affermazione che WCF era una sostituzione non è accurata. Ha sostituito .NET Remoting. La COM ha una gamma molto ampia, è uno strumento di interoperabilità generico, proprio come il CLR consente a molte lingue di interagire. Una delle sue caratteristiche stava supportando l'interoperabilità tra diversi processi e macchine, forse la fonte della dichiarazione. Ma questo è solo una parte di esso.

Esistono ancora molte applicazioni COM che non sono state sostituite da .NET. L'esempio migliore è la shell di Windows, Explorer.exe. È piuttosto difficile fare qualcosa di semplice come creare un'estensione della shell del menu di scelta rapida in C#. E fino a quando .NET 4.0 fortemente scoraggiato.

5

Quale approccio è consigliato ora per l'attuazione dello stesso tipo di interoperabilità quando si costruisce un'applicazione .NET , in particolare, in WPF?

Si chiama WCF

WCF è stato progettato in conformità orientate ai servizi principi dell'architettura per supportare il calcolo distribuito in cui i servizi vengono consumati da parte dei consumatori.

+4

WCF non sarebbe un analogo corrente di DCOM? – JLWarlow

+0

Penso che sia un buon punto. DCOM era ovviamente un'estensione a COM. –

+0

Vale la pena ricordare l'intera domanda, che ha "quale approccio è consigliato ora per implementare lo stesso tipo di interoperabilità quando si costruisce un'app .NET". –

2

Dai uno sguardo al primo paragrafo in this wikipedia article.

WCF è la sostituzione di oggi per COM.

+1

.NET remoting e WCF sono tecnologie diverse. Infatti, WCF sostituisce il servizio remoto .NET. –

+0

@Joe, vero, ho fatto riferimento solo all'articolo perché ha una bella timeline nel primo paragrafo. – Carvellis

Problemi correlati