程序集和全局程序集缓存

程序集具有以下特点:

  • 程序集作为 .exe 或 .dll 文件实现。

  • 通过将程序集放在全局程序集缓存中,可在多个应用程序之间共享程序集。

  • 要将程序集包含在全局程序集缓存中,必须对程序集进行强命名。有关更多信息,请参见。

  • 程序集仅在需要时才加载到内存中。

  • 可以使用反射以编程方式获取关于程序集的信息。有关更多信息,请参见主题。

  • 如果加载程序集的目的只是对其进行检查,应使用诸如 的方法。

  • 可以在单个应用程序中使用相同程序集的两个版本。有关更多信息,请参见 。

应用程序域

 

ContractedBlock.gif ExpandedBlockStart.gif Code
//下面的代码示例创建一个新的应用程序域,然后加载并执行以前生成的程序集 HelloWorld.exe,该程序集存储在驱动器 C 上。
static void Main()
{
    
// Create an Application Domain:
    System.AppDomain newDomain = System.AppDomain.CreateDomain("NewApplicationDomain");

    
// Load and execute an assembly:
    newDomain.ExecuteAssembly(@"c:\HelloWorld.exe");

    
// Unload the application domain:
    System.AppDomain.Unload(newDomain);
}

 

如何:创建应用程序域

 

当需要应用程序域时,公共语言运行库宿主会自动创建它们。不过,您可以创建自己的应用程序域并将它们加载到需要亲自管理的程序集中。您也可以创建从中执行代码的应用程序域。

若要创建新的应用程序域,可使用 类中某个重载的 CreateDomain 方法。您可以为应用程序域命名并按该名称来引用应用程序域。

下面的示例创建新的应用程序域,并为它指定名称 MyDomain,然后将宿主域的名称和新创建的子应用程序域输出到控制台。

 

ContractedBlock.gif ExpandedBlockStart.gif Code
using System;
using System.Reflection;
class AppDomain1
{
    
public static void Main()
    {
           Console.WriteLine(
"Creating new AppDomain.");
           AppDomain domain 
= AppDomain.CreateDomain("MyDomain");

           Console.WriteLine(
"Host domain: " + AppDomain.CurrentDomain.FriendlyName);
           Console.WriteLine(
"child domain: " + domain.FriendlyName);
   }
}

 

 

转载于:https://www.cnblogs.com/danwei/archive/2009/04/19/1439110.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值