应用程序域
应用程序域是CLR中提供代码运行范围、错误隔离和安全设置隔离的逻辑单元,功能类似于操作系统的进程。一个或多个应用程序域在一个操作系统的进程中运行。应用程序域的创建和销毁所需要的开销,相对于操作系统的进程较小。但和操作系统的进程一样,应用程序域之间的数据共享相当困难。
JIT(及时编译,Just-In-Time)
JIT引擎在编译中间代码之前,会寻找方法在本机机器代码缓存并且判断其是否可用,如果可用直接加载,如果不可用,它会查找类型中的方法存根,找到该中间代码并且进行编译。
强签名程序集和弱签名程序集
强签名程序集是一个带有公钥和数字签名的程序集,每个强签名都可以由四个元素来唯一标识,它们分别是:文件名、版本号、语言文化和公钥。这些信息都被包含在程序集的清单中。
弱签名程序集拥有和强签名程序集一样的元数据、CLR头文件和程序集清单,唯一不同是弱签名程序集没有公钥,也不能进行数字签名。弱签名程序集不能放入GAC中,只能进行私有部署。
GAC(全局程序集缓存,Global Assembly Cache)
GAC是一个具有特定目录结构的文件夹,所有强签名的程序集都可以被放入GAC中。可以通过.Net Framework自带的asssembly viewer来简单的拖动添加一个程序集到GAC中,或者别的工具。都是更具GAC的规范和程序集本身的特性在GAC的目录下建立相应的子目录。
GAC的优点:
- 程序集被多出引用时,可以有效的减少内存成本。
- 通过发布者策略可以有效的发布程序集的最新版本。
- 同一个程序集的多个版本可以共存,并且可以通过配置进行切换。
延迟签名
延迟签名就是指把对强签名程序集的私密钥加密和数字签名延迟到实际发布时进行。延迟签名提高了开发测试阶段的效率,也方便了机构和项目组管理自己的私钥。
时间: 2024-10-06 13:09:30