ActivationContext 类

定义

标识当前应用程序的激活上下文。 此类不能被继承。

public ref class ActivationContext sealed : IDisposable, System::Runtime::Serialization::ISerializable
[System.Runtime.InteropServices.ComVisible(false)]
[System.Serializable]
public sealed class ActivationContext : IDisposable, System.Runtime.Serialization.ISerializable
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Serializable>]
type ActivationContext = class
    interface IDisposable
    interface ISerializable
Public NotInheritable Class ActivationContext
Implements IDisposable, ISerializable
继承
ActivationContext
属性
实现

示例

下面的代码示例演示如何使用对象 ActivationContext 获取 ApplicationIdentity 基于清单的应用程序。 为了获得正确的结果,请以基于清单的应用程序的形式执行此代码示例。

using System;

namespace ActivationContextSample
{
    public class Program : MarshalByRefObject
    {
        public static void Main(string[] args)
        {
            ActivationContext ac = AppDomain.CurrentDomain.ActivationContext;
            ApplicationIdentity ai = ac.Identity;
            Console.WriteLine("Full name = " + ai.FullName);
            Console.WriteLine("Code base = " + ai.CodeBase);

            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

Public Class Program
    Inherits MarshalByRefObject

    <SecurityPermission(SecurityAction.LinkDemand, ControlDomainPolicy:=True)> _
    Public Shared Sub Main(ByVal args() As String) 
        Dim ac As ActivationContext = AppDomain.CurrentDomain.ActivationContext
        Dim ai As ApplicationIdentity = ac.Identity
        Console.WriteLine("Full name = " + ai.FullName)
        Console.WriteLine("Code base = " + ai.CodeBase)
        Console.Read()
    
    End Sub

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

注解

ActivationContext 类包含并 ApplicationIdentity 仅提供对应用程序清单的内部访问权限。 在基于清单的激活期间使用激活上下文来设置域策略并提供基于应用程序的安全模型。 有关更多信息,请参见 ApplicationSecurityManager 类。

重要

此类型实现 IDisposable 接口。 在使用完类型后,您应直接或间接释放类型。 若要直接释放类型,请在 try/catch 块中调用其 Dispose 方法。 若要间接释放类型,请使用 using(在 C# 中)或 Using(在 Visual Basic 中)等语言构造。 有关详细信息,请参阅 IDisposable 接口主题中的“使用实现 IDisposable 的对象”一节。

属性

ApplicationManifestBytes

获取当前应用程序的 ClickOnce 应用程序清单。

DeploymentManifestBytes

获取当前应用程序的 ClickOnce 部署清单。

Form

获取当前应用程序的窗体或存储区上下文。

Identity

获取当前应用程序的应用程序标识。

方法

CreatePartialActivationContext(ApplicationIdentity)

使用指定的应用程序标识初始化 ActivationContext 类的新实例。

CreatePartialActivationContext(ApplicationIdentity, String[])

使用指定的应用程序标识和清单路径数组来初始化 ActivationContext 类的新实例。

Dispose()

释放由 ActivationContext 使用的所有资源。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Finalize()

使 ActivationContext 对象在垃圾回收已收回 ActivationContext 之前尝试释放资源并执行其他清理操作。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

显式接口实现

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

使用将目标对象序列化所需的数据填充 SerializationInfo

适用于

另请参阅