Scenari con pipeline di componenti aggiuntivi

Il modello a oggetti della pipeline di componenti aggiuntivi offre la flessibilità necessaria per consentire alle applicazioni host e ai componenti aggiuntivi di interagire nelle modalità seguenti:

  • Compatibilità con le versioni precedenti. Le versioni più recenti degli host o dei componenti aggiuntivi possono operare con le rispettive controparti meno recenti.

  • Isolamento. È possibile spostare uno o più componenti aggiuntivi in un dominio applicazione nel processo host o in un processo isolato.

  • Condivisione. È possibile utilizzare un componente aggiuntivo in più pipeline di comunicazione.

Nell'illustrazione riportata di seguito viene mostrata una semplice pipeline di comunicazione con i relativi segmenti.

Pipeline di comunicazione standard

Modello pipeline di componenti aggiuntivi

Compatibilità con le versioni precedenti

Sono disponibili due scenari che dimostrano la compatibilità con le versioni precedenti.

Bb384242.collapse_all(it-it,VS.110).gifHost nuovo, componenti aggiuntivi obsoleti

Nell'illustrazione riportata di seguito viene mostrato il funzionamento di un host nuovo con un componente aggiuntivo obsoleto.

Pipeline di comunicazione con un host nuovo e un componente aggiuntivo obsoleto

Scenario di pipeline: nuovo host, vecchi componenti aggiuntivi

In questo scenario di compatibilità con le versioni precedenti il nuovo host (Host v2) può lavorare con un componente aggiuntivo obsoleto (Add-in v1) in quanto il relativo adattatore sul lato del componente aggiuntivo (Add-in side adapter v1 - >v2) converte i tipi in un formato supportato dal componente aggiuntivo obsoleto.

Il nuovo componente aggiuntivo (Add-in v2) dispone di una visualizzazione e di segmenti di adattatore propri che consentono di comunicare con il nuovo host.

Bb384242.collapse_all(it-it,VS.110).gifHost obsoleto, componenti aggiuntivi nuovi

Nell'illustrazione riportata di seguito viene mostrato il funzionamento di un host obsoleto con componenti aggiuntivi nuovi.

Pipeline di comunicazione con un host obsoleto e un componente aggiuntivo nuovo

Scenario di pipeline: vecchio host, nuovi componenti aggiuntivi

In questo scenario di compatibilità con le versioni precedenti il nuovo componente aggiuntivo (Add-in v2) può lavorare con l'host obsoleto (Host v1) in quanto il relativo adattatore sul lato del componente aggiuntivo (Add-in side adapter v2 - >v1) converte i tipi in un formato supportato dall'host obsoleto.

Livelli di isolamento variabili

È possibile attivare i componenti aggiuntivi in un nuovo processo o dominio applicazione gli overload appropriati del metodo Activate. Questo isolamento può essere necessario per i motivi seguenti:

  • Per gestire situazioni in cui l'applicazione host cambia e le relative nuove dipendenze non possono essere utilizzate con i componenti aggiuntivi precedenti. Una situazione del genere può ad esempio verificarsi quando l'applicazione host viene aggiornata a una nuova versione di .NET Framework.

  • Per ottenere affidabilità mediante l'esecuzione del componente aggiuntivo nel proprio processo.

  • Per creare una sandbox per il componente aggiuntivo. Un'applicazione host e un componente aggiuntivo dispongono ad esempio di livelli differenti di attendibilità, come specificato dall'enumerazione AddInSecurityLevel.

Nell'illustrazione riportata di seguito viene mostrata una pipeline di comunicazione con due componenti aggiuntivi, uno dei quali si trova in un processo isolato. Nell'illustrazione OOP indica un processo isolato.

Pipeline di comunicazione con componente aggiuntivo isolato

Scenario di pipeline: livelli di isolamento.

In questo scenario uno sviluppatore di pipeline dispone di due versioni differenti del contratto e degli adattatori: una è ottimizzata per le comunicazioni tra domini applicazione mentre l'altra è ottimizzata per le comunicazioni tra processi. Non è necessario che i componenti aggiuntivi e l'host riconoscano le differenze in quanto utilizzano le stesse visualizzazioni indipendentemente dal contratto e dal livello di isolamento.

Componenti aggiuntivi condivisi

È possibile utilizzare un componente aggiuntivo con più host, purché tale componente sia compatibile con gli host. È ad esempio possibile utilizzare un componente aggiuntivo condiviso per implementare una barra degli strumenti che fornisca una funzione di ricerca in Internet per un'applicazione Web host. Un altro esempio è rappresentato da un componente aggiuntivo condiviso che fornisce filtri per la posta indesiderata e protezione antivirus per i server o i client di posta elettronica.

Per consentire il funzionamento del componente aggiuntivo con il nuovo host, è necessario creare un nuovo adattatore sul lato del componente aggiuntivo in grado di eseguire una conversione dalla visualizzazione del componente aggiuntivo al contratto dell'host.

Nell'illustrazione riportata di seguito viene mostrato come condividere un componente aggiuntivo (Add-in A) con due applicazioni host (Host A e Host B).

Pipeline di comunicazione con componente aggiuntivo condiviso

Scenario di pipeline: componenti aggiuntivi condivisi

Vedere anche

Concetti

Sviluppo pipeline