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.

Prestazioni dei componenti aggiuntivi

Le prestazioni dei componenti aggiuntivi possono essere migliorate utilizzando il caricamento indipendente dal dominio per il contratto della pipeline. L'attivazione può essere migliorata generando immagini native per i segmenti della pipeline.

Quando un componente aggiuntivo viene caricato in un dominio applicazione separato, mediante la pipeline viene effettuato il marshalling delle chiamate tra host e componente aggiuntivo attraverso il limite del dominio applicazione. Le prestazioni di tali chiamate tra domini migliorano notevolmente se l'assembly che contiene il contratto viene caricato come indipendente dal dominio.

L'assembly deve avere un nome sicuro ed essere installato nella Global Assembly Cache, nonché disporre di LoaderOptimizationAttribute con il flag LoaderOptimization.MultiDomainHost o LoaderOptimization.MultiDomain.

Il compilatore JIT (Just-In-Time) contribuisce in modo significativo al sovraccarico nelle prestazioni di attivazione del componente aggiuntivo, specialmente quando questo viene attivato in un dominio applicazione separato. Per evitare di utilizzare il compilatore JIT, attenersi a queste linee guida:

  • Assegnare agli assembly della pipeline nomi sicuri e installarli nella Global Assembly Cache.

  • Utilizzare lo strumento Ngen.exe (generatore di immagini native) per creare immagini native per gli assembly della pipeline.

  • Assicurarsi che l'assembly che contiene il contratto sia caricato come indipendente dal dominio, come descritto nella sezione precedente.

    Nota Nota

    Questo punto è estremamente importante. Se il contratto non viene caricato come indipendente dal dominio, nessuno dei componenti sul lato componente aggiuntivo può utilizzare immagini native.

  • Applicare LoaderOptimizationAttribute all'assembly dell'host con il flag MultiDomainHost o MultiDomain, per consentire la condivisione delle immagini native degli assembly .NET Framework tra domini applicazione.

    Nota Nota

    Questo miglioramento nelle prestazioni non sarà rilevabile durante l'esecuzione nel debugger, perché il processo di hosting (vshost.exe) non è configurato per la condivisione degli assembly. È possibile disabilitare il processo di hosting, anche se questa scelta non è consigliata. Le prestazioni non devono essere misurate durante l'esecuzione nel debugger.

Mostra: