Applicazione dell'attivazione nel contesto predefinito
Un componente COM configurato viene in genere attivato nel proprio contesto; ovvero, COM+ fa riferimento alle informazioni del catalogo del componente per fornire tutti i servizi configurati. Tuttavia, è possibile scegliere di attivare un componente configurato nel contesto predefinito. Un componente COM di base, un componente registrato che non dispone di informazioni sul catalogo COM+, viene in genere attivato nel contesto predefinito.
L'attivazione di un componente COM nel contesto predefinito offre tre principali vantaggi in termini di prestazioni, come indicato di seguito:
- È possibile salvare le risorse di sistema limitando il numero di contesti creati.
- È possibile aumentare le prestazioni limitando il numero di chiamate tra contesti. Poiché le chiamate tra contesti richiedono il marshalling, è molto più veloce per un oggetto COM attivato nel contesto predefinito per effettuare chiamate ad altri oggetti nel contesto predefinito. Le prestazioni in questo caso (di chiamate all'interno dello stesso contesto) sono simili a quella della chiamata di una subroutine.
- È possibile importare applicazioni COM meno recenti in COM+ ed eseguirle senza problemi. Ad esempio, è possibile che siano state implementate diverse applicazioni COM meno recenti presupponendo che sia stato consentito passare riferimenti a oggetti all'interno di un apartment senza effettuare il marshalling dei riferimenti. Queste applicazioni COM non funzionano quando vengono importate in COM+ perché i riferimenti all'oggetto vengono passati attraverso i limiti del contesto. Tuttavia, è possibile eseguire questo tipo di applicazione COM quando viene importato se si usa lo strumento di amministrazione di Servizi componenti per contrassegnare tutte le classi nell'applicazione come Deve essere attivato nel contesto predefinito.
Lo svantaggio principale dell'attivazione di un componente configurato nel contesto predefinito è che COM+ non fornisce alcun servizio configurato del componente. Esiste un compromesso tra prestazioni migliorate e la possibilità di usare i servizi COM+.
Si supponga, ad esempio, che un componente COM non richieda servizi COM+ (ad esempio Transazioni, Attivazione JUST-in-Time, Eventi, Componenti in coda, Sincronizzazione o Pool di oggetti) e che il componente effettua una serie di chiamate ad altri componenti COM che possono essere attivati nel contesto predefinito. In questo caso, sarebbe consigliabile attivare il componente chiamante nel contesto predefinito.
Se il componente COM richiede servizi COM+, non può essere contrassegnato come Deve essere attivato nel contesto predefinito. Inoltre, non esiste alcun miglioramento reale delle prestazioni se un oggetto COM attivato nel contesto predefinito effettua una serie di chiamate agli oggetti in altri contesti. Per altri dettagli, vedere Contesti.
Per applicare l'attivazione nel contesto predefinito
Nel riquadro dei dettagli dello strumento di amministrazione di Servizi componenti fare clic con il pulsante destro del mouse sul componente (che si trova all'interno della cartella Componenti di un'applicazione COM+ selezionata) che si desidera attivare nel contesto predefinito e quindi scegliere Proprietà.
Nella finestra di dialogo Proprietà componente fare clic sulla scheda Attivazione .
Selezionare la casella di controllo Deve essere attivata nel contestopredefinito.
Fare clic su OK.
Nota
Quando si esegue un componente configurato nel contesto predefinito, COM+ non attiva alcun servizio configurato per tale componente. Questi servizi sono nuovamente disponibili quando si deseleziona la casella di controllo Deve essere attivato nel contestopredefinito ed eseguire successivamente il componente configurato nel proprio contesto.
Argomenti correlati