AddInToken.Activate<T> Method (AddInProcess, AddInSecurityLevel)

 

Activates an add-in in an external process, in a new application domain, and with a specified trust level.

Namespace:   System.AddIn.Hosting
Assembly:  System.AddIn (in System.AddIn.dll)

[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public T Activate<T>(
	AddInProcess process,
	AddInSecurityLevel level
)

Parameters

process
Type: System.AddIn.Hosting.AddInProcess

The external process in which to activate the add-in.

level
Type: System.AddIn.Hosting.AddInSecurityLevel

One of the enumeration values that specifies the trust level.

Return Value

Type: T

The host view of the add-in.

Type Parameters

T

The interface or abstract base type that represents the host view of the add-in.

This method sets the base directory for the application domain to be the location of the add-in assembly. It also looks for the configuration file [addinassemblyname].dll.config and, if found, sets it to be the configuration file for the new application domain.

The following example creates a new process and activates an add-in in that process with a full trust security level.

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

SecurityAction.Demand

full trust for the immediate caller. This member cannot be used by partially trusted code.

.NET Framework
Available since 3.5
Return to top
Show: