.NET 中的对象激活、应用程序域及异常处理
1. Activator 类
1.1 概述
Activator 类用于激活对象,即创建新对象或获取现有对象的句柄。它通常在各种特定条件下使用,比如在另一个 AppDomain 中创建对象并持有该对象的句柄,这使得多域容器应用程序(如 ASP.NET)能够在其他 AppDomain 中执行任务。
1.2 方法分类
Activator 的方法主要分为两类: CreateInstance()
和 CreateInstanceFrom()
,这两类方法根据特定条件创建新对象; GetObject()
方法则使用已发布的 System.Runtime.Remoting.RemotingConfiguration
数据来定位另一个对象并获取其句柄。
1.3 方法返回值
所有 Activator 方法都返回 System.Runtime.Remoting.ObjectHandle
,而不是实际对象本身。 ObjectHandle
实际上是所创建/远程对象的代理,因此程序员必须在返回的 ObjectHandle
上调用 Unwrap()
方法来使用对象,并且由于返回值声明为通用对象,需要进行显式向下转换。
1.4 代码示例
public s