AddInToken.Activate Methode

Definitie

Hiermee activeert u een invoegtoepassing.

Overloads

Name Description
Activate<T>(AddInEnvironment)

Hiermee activeert u een invoegtoepassing in de omgeving van een andere invoegtoepassing.

Activate<T>(AddInSecurityLevel)

Hiermee activeert u een invoegtoepassing met een opgegeven vertrouwensniveau in een nieuw toepassingsdomein.

Activate<T>(AppDomain)

Hiermee activeert u een invoegtoepassing in een bestaand toepassingsdomein.

Activate<T>(PermissionSet)

Hiermee activeert u een invoegtoepassing met een opgegeven machtigingenset in een nieuw toepassingsdomein.

Activate<T>(AddInProcess, AddInSecurityLevel)

Activeert een invoegtoepassing in een extern proces, in een nieuw toepassingsdomein en met een opgegeven vertrouwensniveau.

Activate<T>(AddInProcess, PermissionSet)

Hiermee activeert u een invoegtoepassing in een extern proces, in een nieuw toepassingsdomein en met een opgegeven machtigingenset.

Activate<T>(AddInSecurityLevel, String)

Hiermee activeert u een invoegtoepassing in een nieuw toepassingsdomein met een opgegeven naam en vertrouwensniveau.

Activate<T>(AddInEnvironment)

Hiermee activeert u een invoegtoepassing in de omgeving van een andere invoegtoepassing.

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

Type parameters

T

De interface of het abstracte basistype dat de hostweergave van de invoegtoepassing vertegenwoordigt.

Parameters

environment
AddInEnvironment

Het toepassingsdomein en het proces dat de oorspronkelijke invoegtoepassing bevat.

Retouren

T

De hostweergave van de invoegtoepassing.

Voorbeelden

In het volgende voorbeeld wordt één invoegtoepassing geactiveerd in een automatisch gegenereerd toepassingsdomein met een opgegeven beveiligingsniveau. Vervolgens wordt een tweede invoegtoepassing in hetzelfde toepassingsdomein geactiveerd en verwerkt als de eerste met behulp van het object van AddInEnvironment de eerste invoegtoepassing.

// 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))

Opmerkingen

Deze methode overbelasting activeert de invoegtoepassing in hetzelfde toepassingsdomein en proces als de invoegtoepassing waaruit environment is verkregen.

Zie ook

Van toepassing op

Activate<T>(AddInSecurityLevel)

Hiermee activeert u een invoegtoepassing met een opgegeven vertrouwensniveau in een nieuw toepassingsdomein.

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

Type parameters

T

De interface of het abstracte basistype dat de hostweergave van de invoegtoepassing vertegenwoordigt.

Parameters

trustLevel
AddInSecurityLevel

Een van de opsommingswaarden waarmee het vertrouwensniveau wordt opgegeven.

Retouren

T

De hostweergave van de invoegtoepassing.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een invoegtoepassing activeert, geïdentificeerd door het gekozen token, in een automatisch gegenereerd toepassingsdomein met een opgegeven beveiligingsniveau.

//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)

Opmerkingen

Met deze methode wordt de invoegtoepassing overbelast in een automatisch gegenereerd toepassingsdomein. Als u een naam wilt opgeven voor het nieuwe toepassingsdomein, gebruikt u de Activate<T>(AddInSecurityLevel, String) overbelasting.

Met deze methode wordt de basismap voor het toepassingsdomein ingesteld op de locatie van de invoegtoepassingsassembly. Het zoekt ook naar het configuratiebestand [addinassemblyname].dll.config en, indien gevonden, stelt het in op het configuratiebestand voor het nieuwe toepassingsdomein.

Zie ook

Van toepassing op

Activate<T>(AppDomain)

Hiermee activeert u een invoegtoepassing in een bestaand toepassingsdomein.

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

Type parameters

T

De interface of het abstracte basistype dat de hostweergave van de invoegtoepassing vertegenwoordigt.

Parameters

target
AppDomain

Het toepassingsdomein waarin de invoegtoepassing moet worden geactiveerd.

Retouren

T

De hostweergave van de invoegtoepassing.

Uitzonderingen

Er is een machtiging voor volledig vertrouwen vereist. Een beller in de oproepketen heeft onvoldoende machtigingen.

Voorbeelden

In het volgende voorbeeld wordt een invoegtoepassing geactiveerd in een toepassingsdomein dat wordt gebruikt door een andere invoegtoepassing. De code voor de eerste invoegtoepassing wordt geleverd in de AddInToken klasse.

// 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))

Opmerkingen

Als u een invoegtoepassing in een automatisch gegenereerd toepassingsdomein wilt activeren, gebruikt u de Activate<T>(AddInSecurityLevel) overbelasting om een nieuw toepassingsdomein te genereren met een opgegeven beveiligingsniveau of de Activate<T>(AddInSecurityLevel, String) overbelasting om een beschrijvende naam voor het toepassingsdomein op te nemen.

Van toepassing op

Activate<T>(PermissionSet)

Hiermee activeert u een invoegtoepassing met een opgegeven machtigingenset in een nieuw toepassingsdomein.

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

Type parameters

T

De interface of het abstracte basistype dat de hostweergave van de invoegtoepassing vertegenwoordigt.

Parameters

permissions
PermissionSet

De machtigingen die zijn verleend voor de invoegtoepassing.

Retouren

T

De hostweergave van de invoegtoepassing.

Uitzonderingen

permissions is null.

Opmerkingen

Met deze methode wordt de invoegtoepassing overbelast in een automatisch gegenereerd toepassingsdomein. Hiermee stelt u de basismap in voor het toepassingsdomein als de locatie van de invoegtoepassingsassembly. Het zoekt ook naar het configuratiebestand [addinassemblyname].dll.config en, indien gevonden, stelt het in op het configuratiebestand voor het nieuwe toepassingsdomein.

Van toepassing op

Activate<T>(AddInProcess, AddInSecurityLevel)

Activeert een invoegtoepassing in een extern proces, in een nieuw toepassingsdomein en met een opgegeven vertrouwensniveau.

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

Type parameters

T

De interface of het abstracte basistype dat de hostweergave van de invoegtoepassing vertegenwoordigt.

Parameters

process
AddInProcess

Het externe proces waarin de invoegtoepassing moet worden geactiveerd.

level
AddInSecurityLevel

Een van de opsommingswaarden waarmee het vertrouwensniveau wordt opgegeven.

Retouren

T

De hostweergave van de invoegtoepassing.

Voorbeelden

In het volgende voorbeeld wordt een nieuw proces gemaakt en wordt een invoegtoepassing in dat proces geactiveerd met een volledig vertrouwensbeveiligingsniveau.

// 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)

Opmerkingen

Met deze methode wordt de basismap voor het toepassingsdomein ingesteld op de locatie van de invoegtoepassingsassembly. Het zoekt ook naar het configuratiebestand [addinassemblyname].dll.config en, indien gevonden, stelt het in op het configuratiebestand voor het nieuwe toepassingsdomein.

Van toepassing op

Activate<T>(AddInProcess, PermissionSet)

Hiermee activeert u een invoegtoepassing in een extern proces, in een nieuw toepassingsdomein en met een opgegeven machtigingenset.

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

Type parameters

T

De interface of het abstracte basistype dat de hostweergave van de invoegtoepassing vertegenwoordigt.

Parameters

process
AddInProcess

Het externe proces waarin de invoegtoepassing moet worden geactiveerd.

permissionSet
PermissionSet

De vereiste machtigingenset die is verleend voor de invoegtoepassing.

Retouren

T

De hostweergave van de invoegtoepassing.

Opmerkingen

Met deze methode wordt de basismap voor het toepassingsdomein ingesteld op de locatie van de invoegtoepassingsassembly. Het zoekt ook naar het configuratiebestand [addinassemblyname].dll.config en, indien gevonden, stelt het in op het configuratiebestand voor het nieuwe toepassingsdomein.

Van toepassing op

Activate<T>(AddInSecurityLevel, String)

Hiermee activeert u een invoegtoepassing in een nieuw toepassingsdomein met een opgegeven naam en vertrouwensniveau.

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

Type parameters

T

De interface of het abstracte basistype dat de hostweergave van de invoegtoepassing vertegenwoordigt.

Parameters

trustLevel
AddInSecurityLevel

Een van de opsommingswaarden waarmee het vertrouwensniveau wordt opgegeven.

appDomainName
String

De beschrijvende naam die moet worden toegewezen aan het nieuwe toepassingsdomein.

Retouren

T

De hostweergave van de invoegtoepassing.

Opmerkingen

Als u geen toepassingsdomeinnaam hoeft op te geven, gebruikt u de Activate<T>(AddInSecurityLevel) overbelasting.

Met deze methode wordt de basismap voor het toepassingsdomein ingesteld op de locatie van de invoegtoepassingsassembly. Het zoekt ook naar het configuratiebestand [addinassemblyname].dll.config en, indien gevonden, stelt het in op het configuratiebestand voor het nieuwe toepassingsdomein.

Van toepassing op