Поделиться через


ActivationArguments Класс

Определение

Предоставляет данные для активации сборок на основе манифестов. Этот класс не наследуется.

public ref class ActivationArguments sealed
public ref class ActivationArguments sealed : System::Security::Policy::EvidenceBase
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class ActivationArguments
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class ActivationArguments : System.Security.Policy.EvidenceBase
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type ActivationArguments = class
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type ActivationArguments = class
    inherit EvidenceBase
Public NotInheritable Class ActivationArguments
Public NotInheritable Class ActivationArguments
Inherits EvidenceBase
Наследование
ActivationArguments
Наследование
ActivationArguments
Атрибуты

Примеры

В следующем примере кода показано, как получить текущий ActivationArguments объект из AppDomainSetup для AppDomain приложения на основе манифеста.

using System;
using System.Collections;
using System.Text;
using System.Security.Policy;
using System.Reflection;
using System.Security;
using System.Runtime.Hosting;

namespace ActivationContextSample
{
    public class Program : MarshalByRefObject
    {
        public static void Main(string[] args)
        {
            // Get the AppDomainManager from the current domain.
            AppDomainManager domainMgr = AppDomain.CurrentDomain.DomainManager;
            // Get the ApplicationActivator from the AppDomainManager.
            ApplicationActivator appActivator = domainMgr.ApplicationActivator;
            Console.WriteLine("Assembly qualified name from the application activator.");
            Console.WriteLine(appActivator.GetType().AssemblyQualifiedName);
            // Get the ActivationArguments from the SetupInformation property of the domain.
            ActivationArguments activationArgs = AppDomain.CurrentDomain.SetupInformation.ActivationArguments;
            // Get the ActivationContext from the ActivationArguments.
            ActivationContext actContext = activationArgs.ActivationContext;
            Console.WriteLine("The ActivationContext.Form property value is: " +
                activationArgs.ActivationContext.Form);
            Console.Read();
        }
    
        public void Run()
        {
            Main(new string[] { });
            Console.ReadLine();
        }
    }
}
Imports System.Collections
Imports System.Text
Imports System.Security.Policy
Imports System.Reflection
Imports System.Security
Imports System.Security.Permissions
Imports System.Runtime.Hosting



Public Class Program
    Inherits MarshalByRefObject

    <SecurityPermission(SecurityAction.LinkDemand, ControlDomainPolicy:=True)> _
    Public Shared Sub Main(ByVal args() As String)
        ' Get the AppDomainManager from the current domain.
        Dim domainMgr As AppDomainManager = AppDomain.CurrentDomain.DomainManager
        ' Get the ApplicationActivator from the AppDomainManager.
        Dim appActivator As ApplicationActivator = domainMgr.ApplicationActivator
        Console.WriteLine("Assembly qualified name from the application activator.")
        Console.WriteLine(appActivator.GetType().AssemblyQualifiedName)
        Dim ac As ActivationContext = AppDomain.CurrentDomain.ActivationContext
        ' Get the ActivationArguments from the SetupInformation property of the domain.
        Dim activationArgs As ActivationArguments = AppDomain.CurrentDomain.SetupInformation.ActivationArguments
        ' Get the ActivationContext from the ActivationArguments.
        Dim actContext As ActivationContext = activationArgs.ActivationContext
        Console.WriteLine("The ActivationContext.Form property value is: " + _
         activationArgs.ActivationContext.Form.ToString())
        Console.Read()

    End Sub

    <SecurityPermission(SecurityAction.LinkDemand, ControlDomainPolicy:=True)> _
    Public Sub Run()
        Main(New String() {})
        Console.ReadLine()

    End Sub
End Class

Комментарии

Класс ActivationArguments используется классом AppDomainSetup .

Модель активации на основе манифеста использует для активации манифест приложения, а не сборку. Манифест полностью описывает приложение, его зависимости, требования к безопасности и т. д. Модель манифеста имеет несколько преимуществ по сравнению с моделью активации на основе сборок, особенно для веб-приложений. Например, манифест содержит требования к безопасности приложения, которые позволяют пользователю решить, следует ли разрешить приложению выполняться перед загрузкой кода. Манифест также содержит сведения о зависимостях приложения.

Конструкторы

ActivationArguments(ActivationContext)

Инициализирует новый экземпляр класса ActivationArguments с заданным контекстом активации.

ActivationArguments(ActivationContext, String[])

Инициализирует новый экземпляр класса ActivationArguments с заданным контекстом активации и данными активации.

ActivationArguments(ApplicationIdentity)

Инициализирует новый экземпляр класса ActivationArguments с заданной идентификацией приложения.

ActivationArguments(ApplicationIdentity, String[])

Инициализирует новый экземпляр класса ActivationArguments с заданной идентификацией приложения и данными активации.

Свойства

ActivationContext

Возвращает контекст активации, предназначенный для активации приложения на основе манифеста.

ActivationData

Возвращает данные активации, полученные от ведущего приложения.

ApplicationIdentity

Возвращает идентификацию приложения для приложения на основе манифеста.

Методы

Clone()

Создает копию текущего объекта ActivationArguments.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к