Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese
Informazioni
L'argomento richiesto è visualizzato di seguito, ma non è incluso in questa libreria.

Individuazione di componenti aggiuntivi

Le applicazioni host sono in grado di individuare i componenti aggiuntivi disponibili. L'individuazione è costituita da due attività:

  • Registrazione delle informazioni su tutti i componenti aggiuntivi e tutti i segmenti di pipeline in file di cache.

  • Individuazione dei componenti aggiuntivi per una visualizzazione host specificata del componente aggiuntivo mediante ricerca nella cache.

A seconda dell'applicazione, in genere l'host individua i componenti aggiuntivi all'avvio, quando viene caricato un documento o in seguito a una richiesta dell'utente. La classe AddInStore fornisce i metodi per l'esecuzione di queste attività.

Dopo aver individuato i componenti aggiuntivi, è possibile attivarli come descritto in Attivazione di componenti aggiuntivi e Procedura: attivare componenti aggiuntivi con isolamento e sicurezza diversi.

La registrazione comporta la determinazione dei componenti aggiuntivi validi mediante il controllo degli attributi dei segmenti di pipeline e la costruzione di informazioni sulle rispettive pipeline. Per ulteriori informazioni sull'applicazione di attributi ai segmenti di pipeline e sulla creazione della struttura di directory della pipeline, vedere Requisiti di sviluppo delle pipeline. La struttura di directory della pipeline può contenere una o più pipeline. Queste informazioni vengono memorizzate nella cache in due file della directory radice della pipeline, ovvero PipelineSegments.store e AddIns.store.

I metodi utilizzati per la registrazione accettano una variabile di stringa che rappresenta il percorso radice della pipeline oppure un valore dell'enumerazione PipelineStoreLocation. Essi creano nuovi file di cache se tali file non sono stati creati in precedenza.

I metodi ricompilano o aggiornano i file di cache, come descritto nella tabella seguente.

Metodo di registrazione

Descrizione

Rebuild

Ricompila la cache dei segmenti di pipeline e include le eventuali nuove aggiunte.

Questo metodo ricompila anche la cache dei componenti aggiuntivi se tali componenti si trovano all'interno della struttura di directory della pipeline.

RebuildAddIns

Ricompila la cache dei componenti aggiuntivi per i componenti aggiuntivi che si trovano in un percorso specificato. Chiamare questo metodo se i componenti aggiuntivi si trovano all'esterno della struttura di directory della pipeline.

Update

Aggiorna la cache dei segmenti di pipeline con le eventuali aggiunte.

Questo metodo aggiorna anche la cache dei componenti aggiuntivi se tali componenti si trovano all'interno della struttura di directory della pipeline.

In assenza di segmenti di pipeline o componenti aggiuntivi nuovi, questo metodo convalida semplicemente la cache.

UpdateAddIns

Aggiorna la cache dei componenti aggiuntivi con gli eventuali nuovi componenti aggiuntivi contenuti in un percorso specificato. Chiamare questo metodo se i componenti aggiuntivi si trovano all'esterno della struttura di directory della pipeline.

In assenza di nuovi componenti aggiuntivi installati, questo metodo convalida semplicemente la cache.

Gli overload dei metodi Rebuild e Update accettano come parametro la directory radice della struttura di directory della pipeline o un valore dell'enumerazione PipelineStoreLocation.

Questi metodi utilizzando il caricamento solo per reflection per ottenere informazioni e non eseguono il codice del componente aggiuntivo o quello dei segmenti di pipeline. Alle informazioni memorizzate nella cache viene aggiunto il timestamp in modo da evitarne il ricalcolo durante gli aggiornamenti.

La chiamata dei metodi di registrazione produce come risultato due file di cache:

  • PipelineSegments.store

    Questo file si trova nella directory radice della struttura di directory della pipeline.

  • AddIns.store

    Questo file si trova nella directory contenente uno o più sottodirectory di componenti aggiuntivi. Tale directory può trovarsi all'interno della struttura di directory della pipeline o in un altro percorso.

Il metodo FindAddIns esamina i file di archivio allo scopo di trovare tutti i componenti aggiuntivi che corrispondono a una visualizzazione host specificata del componente aggiuntivo. La visualizzazione host del componente aggiuntivo è la classe base astratta o l'interfaccia che descrive i metodi utilizzati dall'host e dal componente aggiuntivo, come specificato nel contratto. Per cercare i file di cache creati dai metodi di registrazione, questo metodo accetta come parametro la directory radice della struttura di directory della pipeline o un valore dell'enumerazione PipelineStoreLocation.

Nota Nota

Chiamare FindAddIns solo dopo essersi assicurati che i file di archivio siano compilati e aggiornati, in modo da poter trovare tutti i componenti aggiuntivi disponibili.

Il metodo FindAddIns restituisce una raccolta IList<T> di token che descrivono ogni componente aggiuntivo disponibile con una pipeline valida. Ciascun token viene descritto dalla classe AddInToken.

Ogni token contiene le informazioni seguenti su un componente aggiuntivo, ottenute dall'attributo AddInAttribute della classe del componente aggiuntivo:

  • Nome

  • Descrizione

  • Editore

  • Versione

Nella maggior parte dei casi nella raccolta IList<T> è disponibile un solo token. In presenza di più token, l'applicazione host può utilizzare queste informazioni per consentire all'utente la selezione del componente aggiuntivo da attivare. Per ulteriori informazioni sull'attivazione, vedere Attivazione di componenti aggiuntivi.

Per cercare i componenti aggiuntivi che si trovano all'esterno della struttura di directory della pipeline è necessario includere il parametro AddInPaths. Poiché questo parametro è una matrice di stringhe, è possibile specificare più percorsi.

È anche possibile cercare un componente aggiuntivo specifico con il metodo FindAddIn che restituisce una raccolta di un token.

Nell'esempio riportato di seguito viene illustrato come compilare i file di cache e trovare i componenti aggiuntivi.


// Get path for the pipeline root.
// Assumes that the current directory is the  
// pipeline directory structure root directory. 
String pipeRoot = Environment.CurrentDirectory;

// Update the cache files of the
// pipeline segments and add-ins.
string[] warnings = AddInStore.Update(pipeRoot);

foreach (string warning in warnings)
{
    Console.WriteLine(warning);
}

// Search for add-ins of type Calculator (the host view of the add-in)
// specifying the host's application base, instead of a path,
// for the FindAddIns method.

Collection<AddInToken> tokens = 
            AddInStore.FindAddIns(typeof(Calculator),PipelineStoreLocation.ApplicationBase);


Mostra: