Condividi tramite


AddInToken.Activate Metodo

Definizione

Attiva un componente aggiuntivo.

Overload

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

Tipo di interfaccia o di base astratta che rappresenta la visualizzazione host del componente aggiuntivo.

Parametri

environment
AddInEnvironment

Dominio applicazione e processo contenenti il componente aggiuntivo originale.

Restituisce

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 e elabora il primo usando il primo oggetto del AddInEnvironment 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 di metodo attiva il componente aggiuntivo nello stesso dominio dell'applicazione e elabora il componente aggiuntivo da cui environment è stato ottenuto.

Vedi anche

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

Tipo di interfaccia o 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à.

Restituisce

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 vuole specificare un nome per il nuovo dominio dell'applicazione, usare l'overload Activate<T>(AddInSecurityLevel, String) .

Questo metodo imposta la directory di base per il dominio dell'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.

Vedi anche

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

Tipo di interfaccia o di base astratta che rappresenta la visualizzazione host del componente aggiuntivo.

Parametri

target
AppDomain

Dominio applicazione in cui attivare il componente aggiuntivo.

Restituisce

T

Visualizzazione host del componente aggiuntivo.

Eccezioni

È richiesta un'autorizzazione Full Trust. Uno dei chiamanti nella sequenza delle 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

Tipo di interfaccia o di base astratta che rappresenta la visualizzazione host del componente aggiuntivo.

Parametri

permissions
PermissionSet

Autorizzazioni concesse al componente aggiuntivo.

Restituisce

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 percorso dell'assembly del componente aggiuntivo. Cerca anche il file di configurazione e, se trovato, imposta il file [addinassemblyname].dll.config di configurazione per il nuovo dominio dell'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

Tipo di interfaccia o 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à.

Restituisce

T

Visualizzazione host del componente aggiuntivo.

Esempio

Nell'esempio seguente viene creato un nuovo processo e viene attivato un componente aggiuntivo con un livello di sicurezza attendibile completo.

// 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 dell'applicazione come percorso dell'assembly del componente aggiuntivo. Cerca anche il file di configurazione e, se trovato, imposta il file [addinassemblyname].dll.config di configurazione per il nuovo dominio dell'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

Tipo di interfaccia o 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 specificato di autorizzazioni concesse al componente aggiuntivo.

Restituisce

T

Visualizzazione host del componente aggiuntivo.

Commenti

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

Tipo di interfaccia o 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 dell'applicazione.

Restituisce

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 dell'applicazione come percorso dell'assembly del componente aggiuntivo. Cerca anche il file di configurazione e, se trovato, imposta il file [addinassemblyname].dll.config di configurazione per il nuovo dominio dell'applicazione.

Si applica a