Interoperabilità COM avanzata
.NET Framework rappresenta la naturale evoluzione di COM, poiché i due modelli condividono molte tematiche di base, tra cui la possibilità di riutilizzare componenti e la neutralità rispetto al linguaggio. Per quanto riguarda la compatibilità con le versioni precedenti, l'interoperabilità COM fornisce l'accesso ai componenti COM esistenti senza che questi debbano essere modificati. È possibile incorporare componenti COM in un'applicazione .NET Framework utilizzando strumenti di interoperabilità COM per importare i tipi COM rilevanti. Una volta importati, i tipi COM potranno essere immediatamente utilizzati.
L'interoperabilità COM introduce anche la compatibilità con le versioni successive, consentendo ai client COM di accedere al codice gestito con la stessa facilità con cui accedono ad altri oggetti COM. L'interoperabilità COM consente inoltre di esportare con facilità i metadati di un assembly in una libreria dei tipi e di registrare il componente gestito come un componente COM tradizionale. Sia l'utilità di importazione che quella di esportazione producono risultati coerenti con le specifiche COM. In fase di esecuzione, viene eseguito il marshalling dei dati tra gli oggetti COM e gli oggetti gestiti, come opportuno.
In questa sezione
- Argomenti relativi alle procedure di interoperabilità COM avanzate
Sono riportati i collegamenti a tutte le procedure, incluse nella documentazione sui concetti, relative all'interoperabilità COM avanzata.
- Wrapper COM
Vengono descritti i wrapper forniti dall'interoperabilità COM.
- Assembly di interoperabilità primari
Viene descritto come creare e utilizzare assembly di interoperabilità primari.
- Esecuzione side-by-side per l'interoperabilità COM
Viene descritto come condividere in modo protetto i componenti attraverso i servizi di interoperabilità COM.
- Interoperabilità COM senza registrazione
Viene descritta la funzionalità di attivazione dei componenti senza utilizzo del Registro di sistema di Windows offerta dall'interoperabilità COM.
- Handle protetti e finalizzazione critica
Vengono descritte le classi utilizzate per il wrapping di handle non gestiti in codice gestito.
- Ereditarietà, aggregazione e contenimento
Vengono descritte diverse strategie per l'estensione dei tipi COM.
- Threading gestito e non gestito
Vengono descritte le differenze tra threading che incidono sull'interoperabilità.
- Eventi gestiti e non gestiti
Viene descritto come generare e gestire gli eventi utilizzando l'interoperabilità COM.
- Riepilogo della conversione da libreria dei tipi ad assembly
Viene descritto il processo di conversione eseguito in caso di importazione da libreria dei tipi ad assembly.
- Riepilogo della conversione da assembly a libreria dei tipi
Viene descritto il processo di conversione eseguito in caso di esportazione da assembly a libreria dei tipi.
- Marshalling personalizzato
Viene illustrato come scrivere un gestore di marshalling personalizzato per l'interoperabilità.
Sezioni correlate
- Considerazioni di progettazione per l'interoperabilità
Sono riportate considerazioni relative alla fase di progettazione per migliorare la transizione tra codice gestito e non gestito.
- Esposizione di componenti COM a .NET Framework
Viene descritto come esporre un componente COM esistente al codice gestito.
- Esposizione di componenti .NET Framework a COM
Viene descritto come esporre il codice gestito a un componente COM esistente.
- Marshalling di interoperabilità
Viene descritto il processo in base al quale i dati vengono passati dal codice gestito a quello non gestito e viceversa.