Condividi tramite


AddInToken.Activate Metodo

Definizione

Attiva un componente aggiuntivo.

Overload

Nome Descrizione
Activate<T>(AddInEnvironment)

Attiva un componente aggiuntivo nell'ambiente di un altro componente aggiuntivo.

Activate<T>(AddInSecurityLevel)

Attiva un componente aggiuntivo con un livello di attendibilità specificato in un nuovo dominio applicazione.

Activate<T>(AppDomain)

Attiva un componente aggiuntivo in un dominio applicazione esistente.

Activate<T>(PermissionSet)

Attiva un componente aggiuntivo con un set di autorizzazioni specificato in un nuovo dominio applicazione.

Activate<T>(AddInProcess, AddInSecurityLevel)

Attiva un componente aggiuntivo in un processo esterno, in un nuovo dominio applicazione e con un livello di attendibilità specificato.

Activate<T>(AddInProcess, PermissionSet)

Attiva un componente aggiuntivo in un processo esterno, in un nuovo dominio applicazione e con un set di autorizzazioni specificato.

Activate<T>(AddInSecurityLevel, String)

Attiva un componente aggiuntivo in un nuovo dominio applicazione con un nome e un livello di attendibilità specificati.

Activate<T>(AddInEnvironment)

Attiva un componente aggiuntivo nell'ambiente di un altro componente aggiuntivo.

public:
generic <typename T>
 T Activate(System::AddIn::Hosting::AddInEnvironment ^ environment);
public T Activate<T>(System.AddIn.Hosting.AddInEnvironment environment);
member this.Activate : System.AddIn.Hosting.AddInEnvironment -> 'T
Public Function Activate(Of T) (environment As AddInEnvironment) As T

Parametri di tipo

T

Interfaccia o tipo di base astratta che rappresenta la visualizzazione host del componente aggiuntivo.

Parametri

environment
AddInEnvironment

Dominio applicazione e processo che contiene il componente aggiuntivo originale.

Valori restituiti

T

Visualizzazione host del componente aggiuntivo.

Esempio

Nell'esempio seguente viene attivato un componente aggiuntivo in un dominio applicazione generato automaticamente con un livello di sicurezza specificato. Attiva quindi un secondo componente aggiuntivo nello stesso dominio dell'applicazione ed elabora il primo usando l'oggetto del AddInEnvironment primo componente aggiuntivo.

// Get the AddInController of a
// currently actived add-in (CalcAddIn).
AddInController aiController = AddInController.GetAddInController(CalcAddIn);

// Select another token.
AddInToken selectedToken2 = ChooseAddIn(tokens);

// Activate a second add-in, CalcAddIn2, in the same
// appliation domain and process as the first add-in by passing
// the first add-in's AddInEnvironment object to the Activate method.
AddInEnvironment aiEnvironment = aiController.AddInEnvironment;
Calculator CalcAddIn2 =
    selectedToken2.Activate<Calculator>(aiEnvironment);

// Get the AddInController for the second add-in to compare environments.
AddInController aiController2 = AddInController.GetAddInController(CalcAddIn2);
Console.WriteLine("Add-ins in same application domain: {0}", aiController.AppDomain.Equals(aiController2.AppDomain));
Console.WriteLine("Add-ins in same process: {0}", aiEnvironment.Process.Equals(aiController2.AddInEnvironment.Process));
' Get the AddInController of a 
' currently activated add-in (CalcAddIn).
Dim aiController As AddInController = AddInController.GetAddInController(CalcAddIn)

' Select another token.
Dim selectedToken2 As AddInToken = ChooseAddIn(tokens)

' Activate a second add-in, CalcAddIn2, in the same
' appliation domain and process as the first add-in by passing
' the first add-in's AddInEnvironment object to the Activate method.

Dim aiEnvironment As AddInEnvironment = aiController.AddInEnvironment
Dim CalcAddIn2 As Calculator =
    selectedToken2.Activate(Of Calculator)(aiEnvironment)

' Get the AddInController for the second add-in to compare environments.
Dim aiController2 As AddInController = AddInController.GetAddInController(CalcAddIn2)

Console.WriteLine("Add-ins in same application domain: {0}",
    aiController.AppDomain.Equals(aiController2.AppDomain))
Console.WriteLine("Add-ins in same process: {0}",
    aiEnvironment.Process.Equals(aiController2.AddInEnvironment.Process))

Commenti

Questo overload del metodo attiva il componente aggiuntivo nello stesso dominio dell'applicazione ed esegue il processo del componente aggiuntivo da cui environment è stato ottenuto.

Si applica a

Activate<T>(AddInSecurityLevel)

Attiva un componente aggiuntivo con un livello di attendibilità specificato in un nuovo dominio applicazione.

public:
generic <typename T>
 T Activate(System::AddIn::Hosting::AddInSecurityLevel trustLevel);
public T Activate<T>(System.AddIn.Hosting.AddInSecurityLevel trustLevel);
member this.Activate : System.AddIn.Hosting.AddInSecurityLevel -> 'T
Public Function Activate(Of T) (trustLevel As AddInSecurityLevel) As T

Parametri di tipo

T

Interfaccia o tipo di base astratta che rappresenta la visualizzazione host del componente aggiuntivo.

Parametri

trustLevel
AddInSecurityLevel

Uno dei valori di enumerazione che specifica il livello di attendibilità.

Valori restituiti

T

Visualizzazione host del componente aggiuntivo.

Esempio

Nell'esempio seguente viene illustrato come attivare un componente aggiuntivo, identificato dal token scelto, in un dominio applicazione generato automaticamente con un livello di sicurezza specificato.

//Ask the user which add-in they would like to use.
AddInToken selectedToken = ChooseAddIn(tokens);

//Activate the selected AddInToken in a new
//application domain with the Internet trust level.
Calculator CalcAddIn = selectedToken.Activate<Calculator>(AddInSecurityLevel.Internet);

//Run the add-in using a custom method.
RunCalculator(CalcAddIn);
'Ask the user which add-in they would like to use.
Dim selectedToken As AddInToken = ChooseAddIn(tokens)
'Activate the selected AddInToken in a new
'application domain with the Internet trust level.
Dim CalcAddIn As Calculator = selectedToken.Activate(Of Calculator)(AddInSecurityLevel.Internet)
'Run the add-in using a custom method.
RunCalculator(CalcAddIn)

Commenti

Questo overload del metodo carica il componente aggiuntivo in un dominio applicazione generato automaticamente. Se si desidera specificare un nome per il nuovo dominio applicazione, usare l'overload Activate<T>(AddInSecurityLevel, String) .

Questo metodo imposta la directory di base per il dominio applicazione come percorso dell'assembly del componente aggiuntivo. Cerca anche il file di configurazione [addinassemblyname].dll.config e, se trovato, imposta il file di configurazione per il nuovo dominio dell'applicazione.

Si applica a

Activate<T>(AppDomain)

Attiva un componente aggiuntivo in un dominio applicazione esistente.

public:
generic <typename T>
 T Activate(AppDomain ^ target);
public T Activate<T>(AppDomain target);
member this.Activate : AppDomain -> 'T
Public Function Activate(Of T) (target As AppDomain) As T

Parametri di tipo

T

Interfaccia o tipo di base astratta che rappresenta la visualizzazione host del componente aggiuntivo.

Parametri

target
AppDomain

Dominio applicazione in cui deve essere attivato il componente aggiuntivo.

Valori restituiti

T

Visualizzazione host del componente aggiuntivo.

Eccezioni

Viene richiesta l'autorizzazione full-trust. Un chiamante nella catena di chiamate non dispone di autorizzazioni sufficienti.

Esempio

Nell'esempio seguente viene attivato un componente aggiuntivo in un dominio applicazione usato da un altro componente aggiuntivo. Il codice per il primo componente aggiuntivo viene fornito nella AddInToken classe .

// Get the application domain
// of an existing add-in (CalcAddIn).
AddInController aiCtrl = AddInController.GetAddInController(CalcAddIn);
AppDomain AddInAppDom = aiCtrl.AppDomain;

// Activate another add-in in the same application domain.
Calculator CalcAddIn3 =
    selectedToken2.Activate<Calculator>(AddInAppDom);

// Show that CalcAddIn3 was loaded
// into CalcAddIn's application domain.
AddInController aic = AddInController.GetAddInController(CalcAddIn3);
Console.WriteLine("Add-in loaded into existing application domain: {0}",
    aic.AppDomain.Equals(AddInAppDom));
' Get the application domain
' of an existing add-in (CalcAddIn).

Dim aiCtrl As AddInController = AddInController.GetAddInController(CalcAddIn)
Dim AddInAppDom As AppDomain = aiCtrl.AppDomain

' Activate another add-in in the same appliation domain.
Dim CalcAddIn3 As Calculator = selectedToken2.Activate(Of Calculator)(AddInAppDom)

' Show that the CalcAddIn3 was loaded
' into CalcCaddIn's application domain.
Dim aic As AddInController = AddInController.GetAddInController(CalcAddIn3)
Console.WriteLine("Add-in loaded into existing application domain: {0}",
 aic.AppDomain.Equals(AddInAppDom))

Commenti

Per attivare un componente aggiuntivo in un dominio applicazione generato automaticamente, usare l'overload Activate<T>(AddInSecurityLevel) per generare un nuovo dominio applicazione con un livello di sicurezza specificato o l'overload Activate<T>(AddInSecurityLevel, String) per includere un nome descrittivo per il dominio dell'applicazione.

Si applica a

Activate<T>(PermissionSet)

Attiva un componente aggiuntivo con un set di autorizzazioni specificato in un nuovo dominio applicazione.

public:
generic <typename T>
 T Activate(System::Security::PermissionSet ^ permissions);
public T Activate<T>(System.Security.PermissionSet permissions);
member this.Activate : System.Security.PermissionSet -> 'T
Public Function Activate(Of T) (permissions As PermissionSet) As T

Parametri di tipo

T

Interfaccia o tipo di base astratta che rappresenta la visualizzazione host del componente aggiuntivo.

Parametri

permissions
PermissionSet

Autorizzazioni concesse per il componente aggiuntivo.

Valori restituiti

T

Visualizzazione host del componente aggiuntivo.

Eccezioni

permissions è null.

Commenti

Questo overload del metodo carica il componente aggiuntivo in un dominio applicazione generato automaticamente. Imposta la directory di base per il dominio dell'applicazione come posizione dell'assembly del componente aggiuntivo. Cerca anche il file [addinassemblyname].dll.config di configurazione e, se trovato, lo imposta come file di configurazione per il nuovo dominio applicazione.

Si applica a

Activate<T>(AddInProcess, AddInSecurityLevel)

Attiva un componente aggiuntivo in un processo esterno, in un nuovo dominio applicazione e con un livello di attendibilità specificato.

public:
generic <typename T>
 T Activate(System::AddIn::Hosting::AddInProcess ^ process, System::AddIn::Hosting::AddInSecurityLevel level);
public T Activate<T>(System.AddIn.Hosting.AddInProcess process, System.AddIn.Hosting.AddInSecurityLevel level);
member this.Activate : System.AddIn.Hosting.AddInProcess * System.AddIn.Hosting.AddInSecurityLevel -> 'T
Public Function Activate(Of T) (process As AddInProcess, level As AddInSecurityLevel) As T

Parametri di tipo

T

Interfaccia o tipo di base astratta che rappresenta la visualizzazione host del componente aggiuntivo.

Parametri

process
AddInProcess

Processo esterno in cui attivare il componente aggiuntivo.

level
AddInSecurityLevel

Uno dei valori di enumerazione che specifica il livello di attendibilità.

Valori restituiti

T

Visualizzazione host del componente aggiuntivo.

Esempio

Nell'esempio seguente viene creato un nuovo processo e viene attivato un componente aggiuntivo in tale processo con un livello di sicurezza con attendibilità totale.

// Create an external process.
AddInProcess pExternal = new AddInProcess();

// Activate an add-in in the external process
// with a full trust security level.
Calculator CalcAddIn4 =
    selectedToken.Activate<Calculator>(pExternal,
    AddInSecurityLevel.FullTrust);

// Show that the add-in is an external process
// by verifying that it is not in the current (host's) process.
AddInController AddinCtl = AddInController.GetAddInController(CalcAddIn4);
Console.WriteLine("Add-in in host's process: {0}",
    AddinCtl.AddInEnvironment.Process.IsCurrentProcess);
' Create an external process.
Dim pExternal As New AddInProcess()

' Activate an add-in in the external process
' with a full trust security level.
Dim CalcAddIn4 As Calculator =
    selectedToken.Activate(Of Calculator)(pExternal,
        AddInSecurityLevel.FullTrust)

' Show that the add-in is an external process
' by verifying that it is not in the current (host's) process.
Dim AddinCtl As AddInController = AddInController.GetAddInController(CalcAddIn4)
Console.WriteLine("Add-in in host's process: {0}",
 AddinCtl.AddInEnvironment.Process.IsCurrentProcess)

Commenti

Questo metodo imposta la directory di base per il dominio applicazione come percorso dell'assembly del componente aggiuntivo. Cerca anche il file [addinassemblyname].dll.config di configurazione e, se trovato, lo imposta come file di configurazione per il nuovo dominio applicazione.

Si applica a

Activate<T>(AddInProcess, PermissionSet)

Attiva un componente aggiuntivo in un processo esterno, in un nuovo dominio applicazione e con un set di autorizzazioni specificato.

public:
generic <typename T>
 T Activate(System::AddIn::Hosting::AddInProcess ^ process, System::Security::PermissionSet ^ permissionSet);
public T Activate<T>(System.AddIn.Hosting.AddInProcess process, System.Security.PermissionSet permissionSet);
member this.Activate : System.AddIn.Hosting.AddInProcess * System.Security.PermissionSet -> 'T
Public Function Activate(Of T) (process As AddInProcess, permissionSet As PermissionSet) As T

Parametri di tipo

T

Interfaccia o tipo di base astratta che rappresenta la visualizzazione host del componente aggiuntivo.

Parametri

process
AddInProcess

Processo esterno in cui attivare il componente aggiuntivo.

permissionSet
PermissionSet

Set di autorizzazioni richiesto concesso per il componente aggiuntivo.

Valori restituiti

T

Visualizzazione host del componente aggiuntivo.

Commenti

Questo metodo imposta la directory di base per il dominio applicazione come percorso dell'assembly del componente aggiuntivo. Cerca anche il file [addinassemblyname].dll.config di configurazione e, se trovato, lo imposta come file di configurazione per il nuovo dominio applicazione.

Si applica a

Activate<T>(AddInSecurityLevel, String)

Attiva un componente aggiuntivo in un nuovo dominio applicazione con un nome e un livello di attendibilità specificati.

public:
generic <typename T>
 T Activate(System::AddIn::Hosting::AddInSecurityLevel trustLevel, System::String ^ appDomainName);
public T Activate<T>(System.AddIn.Hosting.AddInSecurityLevel trustLevel, string appDomainName);
member this.Activate : System.AddIn.Hosting.AddInSecurityLevel * string -> 'T
Public Function Activate(Of T) (trustLevel As AddInSecurityLevel, appDomainName As String) As T

Parametri di tipo

T

Interfaccia o tipo di base astratta che rappresenta la visualizzazione host del componente aggiuntivo.

Parametri

trustLevel
AddInSecurityLevel

Uno dei valori di enumerazione che specifica il livello di attendibilità.

appDomainName
String

Nome descrittivo da assegnare al nuovo dominio applicazione.

Valori restituiti

T

Visualizzazione host del componente aggiuntivo.

Commenti

Se non è necessario specificare un nome di dominio dell'applicazione, usare l'overload Activate<T>(AddInSecurityLevel) .

Questo metodo imposta la directory di base per il dominio applicazione come percorso dell'assembly del componente aggiuntivo. Cerca anche il file [addinassemblyname].dll.config di configurazione e, se trovato, lo imposta come file di configurazione per il nuovo dominio applicazione.

Si applica a